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