【发布时间】:2015-10-11 13:17:18
【问题描述】:
这是我正在处理的号码
1 01110 001 = ____
1 个符号位、5 个 exp 位、3 个小数位
偏差 = 15
这是我目前的流程,希望你能告诉我我遗漏了什么
- 将二进制指数转换为十进制
01110 = 14 - 减去偏差
14 - 15 = -1 - 小数位乘以结果
0.001 * 2^-1 = 0.0001 - 转换为十进制
.0001 = 1/16
符号位是 1,所以我的结果是 -1/16,但给定的答案是 -9/16。有人介意解释分数中额外的 8 是从哪里来的吗?
【问题讨论】:
-
省略第一位。 001 => (1)001
-
见this article,特别是解释有效数字是“24位(23位显式存储)”的部分
标签: c binary floating-point-conversion