【发布时间】:2016-02-21 04:22:19
【问题描述】:
以下是我正在尝试遵循的教程。
当试图将数字转换回它的二进制表示时,我弄错了。谁能告诉我我做错了什么?
-0.21875
二进制表示:
.00111 = 1.11 * 2^-3
因为..
0.5^3 + 0.5^4 + 0.5^5 = 0.21875
指数为..
-3 + 127 = 124
因此二进制表示应该是:
s eeeeeeee mmmmmmmmmmmmmm
1 01111100 11100000000000
但为什么我以同样的方式转换 639.6875 得到正确答案?:
整数值的表示:
1001111111
十进制值的表示:
1011
合并和归一化:
1001111111.1011 = 1.0011111111011 * 2^9
规范化的时候,我们把基数直接放在第一个1的右边吧? 以 127 为指数偏置,127+9 = 136:
10001000
二进制表示:
s eeeeeeee mmmmmmmmmmmmmm
0 10001000 10011111111011
【问题讨论】: