【发布时间】:2014-02-19 02:43:06
【问题描述】:
我目前正在尝试将以下 IEEE 754 十六进制数 0x805c00f0 转换为其十进制等效值,根据在线转换器,它约为 -8.44920195816662938E-39。在纸上一步一步地计算出来,我得到了以下信息:
805c00f0 = 1000 0000 0101 1100 0000 0000 1111 0000 最左边的 1 表示该数字为负数。接下来的八位 000 0000 0 表示减去偏差后的指数为 -127。我只剩下 101 1100 0000 0000 1111 0000 位,尾数。
回忆隐含的1后,我有-1.101 1100 0000 0000 1111 0000 * 2^-127。将小数点向左移动 127 位,我得到 -0.00(...)1101 1100 0000 0000 1111 0000。总结起来,我得到 -1(2^(-127)+2^(-128)+2^ (-130)+2^(-131)+2^(-132)+2^(-143)+2^(-144)+2^(-145)+2^(-146)) = -1.01020727331947522 E-38。这不等于转换器给我的,我不明白为什么。我哪里错了?
【问题讨论】:
-
为了它的价值,我使用 binaryconvert.com/result_float.html?hexadecimal=805C00F0 来检查我的答案
-
如果你们也被难住了,没关系。在你思考这个问题时,我至少想听听你的意见。
标签: ieee-754