照我看起來,兩個寫的沒衝突。
VC++只適用在MS的平台上,而C Primer Plus則是泛指各個implementation,所以後者寫的比較概括,而前者可以寫的很確定。如果樓主是用MS的OS,那當然聽MS的,如果不是,那就看各個平台了。
不過,我得承認,我寫的程式從來沒去仔細留意數值的精準度到幾個位數。發表人:
julius 時間: 2011-3-21 10:34 PM
有點離題,
不過, 還是推薦一份 1991 年 David Goldberg 發表關於 "浮點運算" 小有名氣的文章,
float = (+/-) 1. m X 2^ (e)
1 bit ......... Sign
8 bits......... 次方
23 bits....... 小數
2^(23) = 8388608 => 七個位數...
所以...假設你有兩個float A and B...
A = 0.1111111
B = 0.00000000000000001
A + B = 0.11111110000000001
但是float只有大概七個位數的準確度...所以 A+B 會只剩 0.1111111
也就是說...如果要對兩個相差超過七位數以上的數作加減乘除...就很有可能會掉一些精準值...
大部分的軟體計算都不需要這麼精確...除非你在算的是錢!!!