2011-10-07 32 views
1

我一直在想,爲什麼當計算機應該給出準確的答案時,花車並不是真正的敏捷。我在某本書的某本書中讀到,最好將變量與我們想要的值進行比較,因爲計算值可能並不總是我們所期望的整數。機器如何解決這些分歧?對網站的任何鏈接,歡迎:)爲什麼在計算浮動和雙打時會出現錯誤?

+0

也許你可以在這篇文章中找到有價值的東西:http://stackoverflow.com/questions/872544/precision-of-floating-point – DeCaf

回答

3

喬恩斯基特這裏提到它(向下滾動,直到你看到「雙d = 0.3;」畫上一個幻燈片): http://msmvps.com/blogs/jon_skeet/archive/2009/11/02/omg-ponies-aka-humanity-epic-fail.aspx

更詳細的答案在這裏: http://download.oracle.com/docs/cd/E19957-01/806-3568/ncg_goldberg.html

+0

鏈接http://msmvps.com/blogs/jon_skeet/archive/ 2009/11/02/omg-ponies-aka-humanity-epic-fail.aspx不再可用。不過,我通過https://web.archive.org訪問它(2010年8月14日的快照) –

0

一個簡單的答案就是計算機使用有限的數字來表示一個數字。

如果您試圖表示十進制數1/7,那麼它將是0.14285714 ...等等。 計算機也發生同樣的情況,即試圖用二進制表示1/10(0.1的十進制數),這將成爲一個無限級數的井。

因此,有時你不會得到最準確的數字。

相關問題