<!--go-->
顧凡繼續解釋道:“那麼計算機具體是怎麼儲存小數的呢?
“這就是我之前所說的‘浮點數’,浮點的意思是,小數點是可以浮動的。
“就比如1000.101這個二進位制數,就可以表示為1.000101x2^3,這有點類似於數學上的科學計數法。
“在程式中,為了讓二進位制用到科學計數法,並且規範化,就要保證小數點左側只有1位,並且必須為1,我們目前絕大多數計算機所使用的浮點數,都是IEEE制定的國際標準,採用符號位+指數位+尾數的格式。
“總之,由於存在十進位制到二進位制之間的轉化,所以按照這種方式來計算,0.1+0.2並不等於完整的0.3,因為在計算機中,很多小數都無法用完整的二進位制來表示,所以只能用近似數的方式來儲存,那麼兩個近似數相加,也只能是一個新的近似數。
“十進位制轉二進位制計算,然後再轉十進位制輸出,這就導致了前後兩個數不相等的情況。”
莉莉絲眉頭緊皺:“那為什麼不能用十進位制精確計算呢!”
顧凡輕咳兩聲:“這個……如果要從頭解釋『計算機為什麼要使用二進位制』的話,就太複雜了,一時半會說不清。
“但針對這個問題,我可以從另一個角度來說明為什麼大家會容忍這種誤差,因為這種誤差本身就是不可消除的。
Loading...
未載入完,嘗試【重新整理】or【關閉小說模式】or【關閉廣告遮蔽】。
嘗試更換【Firefox瀏覽器】or【Chrome谷歌瀏覽器】開啟多多收藏!
移動流量偶爾打不開,可以切換電信、聯通、Wifi。
收藏網址:www.peakbooks.cc
(>人<;)