鐵之狂傲

 取回密碼
 註冊
搜尋

切換到指定樓層
1#
斷行
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循環浮點數


轉自
http://tw.knowledge.yahoo.com/question/?qid=1206042008072

因為這東西蠻好玩的,所以貼過來

[ 本文最後由 magicalloveshe 於 07-2-21 01:04 PM 編輯 ]
 
轉播0 分享0 收藏0

回覆 使用道具 檢舉

C++中可以用itoa來偷懶XD
用法這裡
http://www.cplusplus.com/reference/clibrary/cstdlib/itoa.html
 

回覆 使用道具 檢舉

原帖由 safestation 於 08-1-12 03:08 發表
C++中可以用itoa來偷懶XD
用法這裡
http://www.cplusplus.com/reference/clibrary/cstdlib/itoa.html

的確是coding時的好方法

回覆 使用道具 檢舉

其實會這種方法
要轉幾進位都可以XD
 

回覆 使用道具 檢舉

肖像被遮蔽

無名的居民

提示: 作者被封鎖或刪除 內容自動遮蔽
 
簽名被遮蔽

回覆 使用道具 檢舉

你需要登入後才可以回覆 登入 | 註冊

存檔|手機版|聯絡我們|新聞提供|鐵之狂傲

GMT+8, 24-11-2 16:29 , Processed in 0.021548 second(s), 15 queries , Gzip On.

回頂部