20100127073610進位 轉 2進位 小數算法。

我們都知道整數 的算法 但不太知道 小數的算法,整數是除二 而 小數是乘2,不說還不知道。


小數0.875的算法如下:

斷行
0.875
× 2
 ̄ ̄ ̄ ̄
1.750 → 取小數前的 1 →①

0.750 ← 前一計算的乘積只取小數部份
× 2
 ̄ ̄ ̄ ̄
1.500 → 取小數前的 1 → ②

0.500 ← 前一計算的乘積只取小數部份
× 2
 ̄ ̄ ̄ ̄
1.000 → 取小數前的 1 → ③

依①②③的順序,十進位 0.875 為二進位 0.111

其他情況給你參考
0.300
× 2
 ̄ ̄ ̄ ̄
0.600 → 取小數前的 0 → ①
0.600
× 2
 ̄ ̄ ̄ ̄
1.200 → 取小數前的 1 → ②
0.200
× 2
 ̄ ̄ ̄ ̄
0.400 → 取小數前的 0 → ③
0.400
× 2
 ̄ ̄ ̄ ̄
0.800 → 取小數前的 0 → ④
0.800
× 2
 ̄ ̄ ̄ ̄
1.600 → 取小數前的 1 → ⑤ → 從這裡可以發現又回到①的情況

因此 十進位的 0.3 是乘不進二進位的,會變成 0.010011001循環浮點數

沒有上一則|日誌首頁|沒有下一則
回應
連絡我

email: reshenchen@gmail.com

贊助廠商
天獅阿興
廣告
    沒有新回應!
關鍵字
好貨報到
google analysis