转换为 IEEE 754 单精度浮点格式帮助
Posted
技术标签:
【中文标题】转换为 IEEE 754 单精度浮点格式帮助【英文标题】:Converting to IEEE 754 Single precision floating-point format help 【发布时间】:2011-04-23 11:18:14 【问题描述】:数字 0.1011 * 2-101 将如何以这种格式表示?
我假设指数为 -101,分数为 1011。
所以这个数字是:
The sign : 1 (since is is -101).
The exponent : 101 in binary, which is:
101/2= 50 R1
50/2 = 25 R0
25/2 = 12 R1
12/2 = 6 R0
6/2 = 3 R0
3/2 = 1 R1
1/2 = 0 R1
101 = 1100101
The fraction : 1011-0000-0000-0000-0000-0000
So the full number is :
1 1100101 1011-0000-0000-0000-0000-0000
【问题讨论】:
【参考方案1】:关闭。
有效数字字段以1.xxx...
的形式进行规范化(在指数范围允许的范围内),因此有效数字为1.011
,指数为-102
。
符号域是数字的符号,不是指数的符号,所以符号为零。通过添加127
的偏差对指数进行编码;所以实际被编码的有偏指数是
-102 + 127 = 25
= b00011001
最后一个细节是,因为已知有效位字段的前导位是 1,所以从编码的浮点数中省略了它,从而允许增加一位精度。因此,编码后的数字是:
0 00011001 01100000000000000000000
s exponent significand
或者,十六进制,0x0cb00000
。
【讨论】:
在这种情况下,指数不会改为 -100 而不是 -102 吗? @Johnny Riley:不;考虑0.1 * 2^0
- 这与1.0 * 2^-1
相同。同样,0.1011 * 2^-101
等于 1.011 * 2^-102
。以上是关于转换为 IEEE 754 单精度浮点格式帮助的主要内容,如果未能解决你的问题,请参考以下文章
从 IEEE 754-2008 十进制浮点数据转换为二进制浮点格式