为什么存储单精度浮点数时需要偏置常数127?

计算机表示单精度浮点数时,是用8位去存储指数部分,在数值上面,表示0~255,

但指数的值可能为正也可能为负,那在计算机使用二进制存储指数的时候,怎么可以存储到为负值的指数值呢?

如果将带有表示正负号的指数符号一并存储,会容易与整个数符号混淆,所以我们采取一种以无符号形式来存储指数:

我们分析:

对于不考虑正负号的指数部分e(其范围:00000000~11111111,也就是十进制的0 ~255,但实际上指数e的取值范围是:00000001 ~ 11111110,也就是十进制的1~254,因为我们规定了00000000和11111111是单独用来表示非规格化值的)

所以,我们为了最终能表示指数值的正负范围,则我们规定在(1~254)这个范围减去一个偏移量127,得到:(-126 ~+127)。这样最终得到我们需要的表示正负指数值的一个范围。也就是不用看指数符号,也可以通过这个偏置值的方法表示出负数范围。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值