为什么IEE754标准中,32位浮点数的指数转换为阶码时需要加上数值为127的偏移量?
生活随笔
收集整理的这篇文章主要介绍了
为什么IEE754标准中,32位浮点数的指数转换为阶码时需要加上数值为127的偏移量?
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
首先阶码为啥用移码表示
为了简化浮点数的比较,故我们使用移码来表示阶码位,这样就不至于在比较时去考虑两次符号位了。
其次IEEE754中有如下规定:
1)当阶码E为全0且尾数M也为全0时,表示的真值为零(结合符号位S为0或1,有正零和负零之分);
2)当阶码E为全1且尾数M为全0时,表示的真值为无穷大(结合符号位S为0或1,有+∞和-∞之分)
我们原来指数部分如果用一个带有符号为的8位数表示的话,应该是从1111 1111~0111 1111即-127~+127但是,有几个特殊的数需要去除掉,因为他们被作为边界条件被定义了,即0000 0000和1111 1111我们同时把这两个数从上边两组中去除,得到下面的结果:0~255变为1~254了-127~+127变为-126~-0并上+1~+127了;即([-126,+127])那么我们就可以得到[1,254]变为[-126,+127],减去127就好了,然后我们就可以获得真正E的值了这个减去的127就是我们的偏移量了。
与50位技术专家面对面20年技术见证,附赠技术全景图总结
以上是生活随笔为你收集整理的为什么IEE754标准中,32位浮点数的指数转换为阶码时需要加上数值为127的偏移量?的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 浮点加减运算之0舍1入法与恒置1法
- 下一篇: Javaweb基础——Servlet