電腦處理數字皆以二進位進行運算
因此我們輸入十進位八進位十六進位
電腦運算時都會轉成二進位
(小數轉二進位方法:小數一直取小數部分乘以二,寫下個位數
,又只取小數部分乘以二)
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)數字
沒有留言:
張貼留言