總網頁瀏覽量

2013年1月23日 星期三

電腦如何處理數字

電腦處理數字皆以二進位進行運算
因此我們輸入十進位八進位十六進位
電腦運算時都會轉成二進位

(小數轉二進位方法:小數一直取小數部分乘以二,寫下個位數
,又只取小數部分乘以二)

0.3*2=0.6   取0
0.6*2=1.2   取1
0.2*2=0.4   取0

可以發現大多小數點轉成二進位,無法精確表示。
因此電腦進行浮點數運算時候,會有誤差。

用程式將0.0001累加一萬次後,結果不會等於一。
而是1.000......016

所以coding時型態轉換盡量用函式來做
SQL有convert
java有 (float)數字

沒有留言:

張貼留言