Re: [理工] FP 十進位轉二進位

作者: WES2163818 (ka)   2016-03-03 20:54:26
※ 引述《shan830609 (茶裏王)》之銘言:
: 第二題的a
: 想請問一下像這種除不盡的數字
: 在用二進位表達時的數字要怎麼轉換
: 以前都是把小數列出來一個一個加到滿足十進位的數
: 但這題mantissa有52個bits會加到死…
: 想請問有沒有什麼方法可以比較快速列出來的
: http://imgur.com/bIsiL7k
推 odanaga: 會有規律 類似無窮循環小數 03/03 17:23
來提供一點想法..
以這題來說
整數部分 5 = 4 + 1, 可以輕鬆得到答案
但是小數 0.03 不好算, 需要每次乘2來驗證是否進位
事實上計算量來講, 至少還是得計算出循環的部分才能確定答案
所以提供一個快速算出共幾位循環的方法
本題來說, 此計算等價於
3 * 2^a (mod 100)
亦等價於
3 * 2^b (mod 25)
因為2與25互質, 所以 2 ^ ψ(25) = 1 (mod 25)
把2當成generator剛好是ψ(25)個元素, 也就是ψ(25) = 5 * (5-1) = 20個循環
所以這題至少要算20次(不包含位移量)才能直接得到答案
同理, 如果是 0.003, 那就是ψ(125) = 100個循環
所以認命算吧XD
但至少你可以用mod的方式寫的比較簡略一點 (mod 100)
remain bit
3 0 1
6 0 2
12 0 3
24 0 4
48 0 5
96 0 6
92 1 7
84 1 8
68 1 9
36 1 10
72 0 11
44 1 12
88 0 13
76 1 14
52 1 15
04 1 16
08 0 17
16 0 18
32 0 19
64 0 20
28 1 21
56 0 22
12 1 23
3到23循環了
作者: odanaga (PixiyON)   2016-03-03 21:05:00
襪 太狂了
作者: shan830609 (茶裏王)   2016-03-03 21:41:00
看不太懂ψ跟generator的意思是離散的東西嗎?考電機類的沒看過跪求大大解釋一下QQ
作者: OppOops (Oops)   2016-03-03 21:44:00
代數吧, 反正計組不考這些...
作者: odanaga (PixiyON)   2016-03-03 21:45:00
簡單來說 看到這種題目 跳吧
作者: OppOops (Oops)   2016-03-03 21:48:00
看人吧, 算20個差不多也不用太久, 睹老師不會檢查太仔細
作者: shan830609 (茶裏王)   2016-03-03 21:50:00
好吧QQ 謝謝W大跟兩位O大的回答
作者: odanaga (PixiyON)   2016-03-03 21:58:00
計算機可以10轉2嗎 www
作者: shan830609 (茶裏王)   2016-03-03 22:44:00
回o大:整數991可以 但是小數不行

Links booklink

Contact Us: admin [ a t ] ucptt.com