使用 IEEE 754 标准(32 位)将数字转换为二进制
Posted
技术标签:
【中文标题】使用 IEEE 754 标准(32 位)将数字转换为二进制【英文标题】:Convert the Number to binary using IEEE 754 standard (32-bits) 【发布时间】:2015-04-28 17:32:16 【问题描述】:我正在尝试使用 IEEE 754 标准 32 位将数字 -11.25 转换为二进制。
这是我目前得到的:
-11.25 = 1011.0100
1.0110100 * 2^3 3 + 127 = 130
= 1.0110100 * 2130
IEEE 754 标准 = 1 10000010 1011010...0
我认为我的回答是错误的,但我想不通。
【问题讨论】:
您是在寻找转换还是提供详细解释? 我正在寻找进一步的解释。 【参考方案1】:由于我假设您已经知道我们可以转换如下的标准,
将您的数字转换为基数 2
1011.01000
移位这个二进制数
1.01101000
2**3
(移位 3)
添加指数 127+3=130
将130转换为二进制格式10000010
所以我们有sign * 2^exponent * mantissa
Sign
这里显然是负数,所以符号位是1
2^3(因为 3 是您的指数,我们将其转换为二进制结果为 130)将是 10000010
这里的尾数是01101000000000000000000
你的最终结果是1|10000010|01101000000000000000000
【讨论】:
太棒了,还有一个问题,我是否将隐藏位放在答案中还是没有必要? @Marga 您应该省略它,因为它可以从指数中计算出来,这样可以在尾数中增加一点精度。(如果您正在寻找答案,请不要忘记接受答案) 感谢 Kiloreux 的帮助,它真的帮助了我。 您可以使用在线浮点转换器(如我的exploringbinary.com/floating-point-converter)检查此类转换的答案(检查“单”、“标准化二进制科学记数法”和“原始二进制” ' 框))。以上是关于使用 IEEE 754 标准(32 位)将数字转换为二进制的主要内容,如果未能解决你的问题,请参考以下文章