【发布时间】:2014-01-01 14:26:16
【问题描述】:
当使用浮点位模型将数字从以 10 为底的数字转换为二进制时,是什么决定了您将小数“零填充”到小数点右侧多少个零?
以 -44.375 为例 这是我的系统编程课程中的一个测试问题,下面是教授为课堂提供的答案......我发布了这个,因为下面的大多数 cmets 似乎都在争论我的教授在答案中所说的内容并引起了一些混乱。
答案:1 1000 0100 0110 0011 0000 0000 0000 000 -- 符号位:1 -- 定点:-44.375 = 25 + 23 + 22 + 2-2 + 2 -3
= 101100.011 = 1.01100011 * 2<sup>5</sup>--指数:5 + 127 = 132 = 1000 0100
-- 分数:0110 0011 0000 0000 0000 000
标记:
-- 正确符号位 1 分 -- 正确的定点表示得 2 分 -- 正确指数 2 分(二进制) -- 正确分数 2 分(用零填充)
【问题讨论】:
-
请提供转换示例,以便更好地理解您的问题。
-
我建议“指数:5 + 127 = 132 = 1000 0100”最好写成“偏差指数:真指数 + 偏差 = 5 + 127 = 132 = 1000 0100”。进一步“有效数=(1)+分数:(1)+ 0110 0011 0000 0000 0000 000”