一般的勇者
斷行 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循環浮點數
回覆 使用道具 檢舉
無名的居民
名望的騎士
原帖由 safestation 於 08-1-12 03:08 發表 C++中可以用itoa來偷懶XD 用法這裡 http://www.cplusplus.com/reference/clibrary/cstdlib/itoa.html
一般的鄉紳
發表回覆 回覆並轉播 回覆後切換到最後一頁
存檔|手機版|聯絡我們|新聞提供|鐵之狂傲
GMT+8, 24-11-2 16:29 , Processed in 0.021548 second(s), 15 queries , Gzip On.