我看到一個問題,並不太明白。倍增變量
第一我們創建任意值:
int x = random();
int y = random();
int z = random();
(int是32位) 然後繼續:
double dx = (double) x;
double dy = (double) y;
double dz = (double) z;
(雙爲64位)
問題是告訴如果下一個陳述是總是是真(返回1)或不。
a. dx+dy+dz==dz+dy+dx
b. dx*dy*dz==dz*dy*dx
答案(一)說:「是,在由雙的範圍內精確表示的」 (是這樣,它還是不總是真的嗎?如果是不總是真實, (b)的答案是「否,例如dx = Tmax,dy = Tmax-1,dz = Tmax-2」 (dx,dy,dz,返回0的3個值的示例)
我試過了,結果是相同的結果(但很有可能我錯了: - /)
我想了解爲什麼那些答案是正確的
謝謝!