2012-05-30 112 views
1

是否有使用<或>雙打的任何已知問題?C++比較雙數

d1 > d2 

d2 > d1 

我找不到任何可能表明這是問題的東西。

不過,我認爲這將是一個問題,由於與平等的問題,我會使用的Epsilon用「幾乎相等」邏輯:

d1 >= d2 

d2 >= d1 
+0

你的問題到底是什麼? – slaphappy

+0

你在SO上搜索過「double compare C++」還是「floating point comparison C++」?我問,因爲我不確定你想知道什麼。看看浮點比較最常見的問題可以幫助你。 – swalog

回答

1

><工作完全按預期;如果d1的值大於d2的值,則d1 > d2將是true(反之亦然)。問題(如果有的話)是d1d2可能不是您所期望的值。

但是,用>=替換>將只改變一個值爲d1(對於固定值d2)的行爲。

+0

如果您期望正確的事情:-),所有六個比較操作符「完全按預期工作」。 –

+0

@James Kanze:在這裏期待什麼是正確的? –

+0

@Andre http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html –

0

唯一的問題是,如果有兩個變量d1d2,您認爲它們具有相同的價值,那麼您可能會得到「誤報」。在這種情況下,如果你做d1 > d2,表達式有可能評估爲真。