关于IEEE754浮点数阶码用移码表示的理解

图片无法显示请移步原文地址原文地址

关于求移码

首先先介绍一下移码怎么求的。大家普遍求移码的方法应该都是先求补码再把符号位取反得到相应真值对应的移码。但是这里需要注意的是移码的定义。

移码就是在真值X的基础上加上一个常数(偏置值),通常这个常数取2^(n-1)

移码其实是一个无符号数,是没有符号位的,这里的n即二进制的位数(符号位+数值位)。因此只有在偏置值为2^(n-1)时才可以使用补码符号位取反的方式来求移码。

IEEE754移码的由来

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WY0oPkGp-1685590128059)(http://mjvvv.cn/pikachu/img/90778c3e-d932-4dc5-b85e-8a022f119f85.png)]

如图所示,8位二进制数所能表示的十进制真值范围是[-128,127]。求相应的移码:

  • 对应于偏置值128的移码,统统加上128有十进制[0,255],对应的二进制取值范围有[0,255],其中移码0和255(对应于十进制真值-128和127)出于IEEE754标准舍去,于是移码对应的二进制数取值范围为[1,254]。

  • 对应于偏置值127的移码,统统加上127有十进制[-1,254],其中-1根据无符号数取反的规则(从右往左第一个1不变,其他的统统取反,参考无符号数加减法)可以表示为11111111,因此对应的二进制数取值范围也为[0,255],其中移码0和255(对应于十进制真值-127和-128)出于IEEE754标准舍去,于是移码对应的二进制取值范围为[1,254]。

问题来了,为啥IEEE754选择偏置值为127的移码呢。注意观察上图,偏置为128的移码表示的真值范围为[-128,126],而偏执值为127的移码表示的真值范围为[-126,127],转化为十进制的浮点数有以下对应关系。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XtlW2k5X-1685590128061)(http://mjvvv.cn/pikachu/img/68a0b97f-7a73-44af-978c-7508bcf8139a.png)]
可见偏移值取127时,上下范围基本对称,相对合理点。因此选择偏置值为127的移码。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

red-fox-yj

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值