為什麼這篇二進位轉換鄉民發文收入到精華區:因為在二進位轉換這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者LPH66 (1597463007)看板Math標題Re: [其他] 如何快速取小數的二進位時間...
二進位轉換 在 PanSci 泛科學 Instagram 的精選貼文
2021-03-30 04:39:30
【#科學腦洞時間】如果沒有二進位制會怎樣? 二進位制是採用 0、1 兩個數字編碼的計算系統,簡單來說,就是當數字增加到 2 的時候就要進位,是電腦世界所使用的語言。 那麼,如果二進位制這個概念消失了,人類會怎樣呢? _ 👉首先,你的電腦手機可以丟掉了,因為它們根本開不了,電路的開關是由二進位中的...
※ 引述《wa007123456 (大笨羊)》之銘言:
: 大家好
: 小弟想請問各位有關二進位的事情
: 像是把0.375轉換成二進位
: 就變成0.011
: 但是我是用土法煉鋼的方式
: 就是把0.375*2 取整數 去整數
: 然後再乘一次2 直到0.0為止(不是所有的小數都可完美轉成二進制)
: 可是像是比較多位的小數 (ex:0.84375)
: 這樣做會浪費很多時間
: 想請問各位有沒有更好的辦法
: 感謝
要另外的方法是有, 只不過應該沒有比較快...
以你舉的 0.84375 為例
0.84375 >= 0.5 => 1, 相減得 0.34375
0.34375 >= 0.25 => 1, 相減得 0.09375
0.09375 < 0.125 => 0
0.09375 >= 0.0625 => 1, 相減得 0.03125
0.03125 >= 0.03125 => 1, 相減得 0, 到此為止
由上到下讀得轉換結果為 0.11011
中間的數字是從 1 一直折半下來的結果
也就是二進位小數第 N 位為 1 對應的十進位值
跟用乘 2 法比較:
0.84375 * 2 = 1.6875 => 1
0.6875 * 2 = 1.375 => 1
0.375 * 2 = 0.75 => 0
0.75 * 2 = 1.5 => 1
0.5 * 2 = 1 => 1, 到此為止
由上到下一樣可以讀得轉換結果為 0.11011
其實如果你是在準備考試的話
出的題目要你算個二進位小數五六位就夠多了
再說如你所說也不是隨便出個數字就能轉的完
會出成題目就是設計過的
如果還是想要有個大略概念會算多少的話
從上法的中間那一串數字可以發現
二進位小數第 N 位的十進位也會到小數第 N 位
(這其實是因為 10 有恰好一個因數 2 的關係)
所以看題目裡的小數有幾位就知道要乘 2 乘幾次了 (如果轉得完的話)
--
LPH [acronym]
= Let Program Heal us
-- New Uncyclopedian Dictionary, Minmei Publishing Co.
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.30.32
※ 文章網址: http://www.ptt.cc/bbs/Math/M.1414505675.A.423.html
※ 編輯: LPH66 (140.112.30.32), 10/28/2014 22:15:13
※ 編輯: LPH66 (140.112.30.32), 10/28/2014 22:15:25