請在您認爲我在問同樣的N%問題之前先閱讀並請注意。比較浮點數
我正在一個項目中,我有更多的函數返回雙倍,它可能有一些是相同的,這是我的項目中的好東西,如果是真的,那麼我需要一個double
比較看看是否相等。
我知道做一個平等比較if(x == y)
不是一個聰明的事情,我們不需要說爲什麼,但我們可以檢查<
或>
這是這個問題的一部分。
語言(標準)保證這一點,比較<
和>
是100%嗎?
如果是的話,下面的程序可用於:
#include <stdio.h>
int main(void){
double x = 3.14;
double y = 3.14;
if(x < y || x > y){
/* Are not Equal */
}else{
/* Are Equal, foo() will be called here\n" */
foo(x, y);
}
}
是否foo(x, y);
得到執行?因爲X
和Y
應該在這裏相等。
編輯: 這個問題並不尋求一種方法來比較兩個雙,這僅僅是我應該使用這一事實,或者我應該不使用,而不是<>==
真的是選民嗎?你最好在開玩笑吧。 – Michi
我認爲這是光滑的。投了票。 – nicomp
@nicomp沒問題:) – Michi