首页 > 编程知识 正文

IEEE754单精度规格化浮点数采用的偏移量为,ieee754短浮点数解释

时间:2023-05-04 17:30:39 阅读:264771 作者:2623

IEEE754浮点数阶码为什么需要偏置bias

首先你应该知道原码,补码,反码,移码,浮点数的表示方法。

移码表示=一个数值+偏置数(bias)

在IEEE754浮点数中,机器上存储的阶码(二进制数,用原码表示,无符号位)用e表示,转化成真值的阶码用E表示,真值中阶码 E = e - bias 

为什么需要bias呢,直接说答案:

1. 使指数以无符号形式存储

以单精度浮点型float为例,e由8bit二进制原码(无符号)表示,但这样的小数不能表示 (-1,1)中的数,因为阶码总是正数。那怎么办呢?用补码表示e?麻烦,还要考虑符号!

所以不如减去一个偏置量127(为什么是127?不是128?https://blog.csdn.net/weixin_43891234/article/details/114693495),这样就能表示负的E(如果没有偏置,那么e=E),此时 E = e -127,而e范围为(0000 0001 - 1111 1110 即 1-254,0000 0000和1111 1111单独用来表示非规格化值),最终E 的范围(1-127 到 254-127)=(-126,127)。

若是不用偏置,用补码表示e(此时e=E),E范围为(1111 1111-0111 1111)= (-128, 127)(其中1000 0000用来表示-128,人为规定的,多加了一个最小值,不知道请看后面链接 https://blog.csdn.net/weixin_43891234/article/details/114318345?spm=1001.2014.3001.5501)

总结:可以看出用偏置也可以实现负数阶码效果,而不像补码表示e,还要考虑符号。

2. 便于浮点数加减运算时候对阶操作

至于原因,可以看其他大佬的解释:

https://blog.csdn.net/a10201516595/article/details/103825861

https://blog.csdn.net/qq_41941875/article/details/103783692

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。