浮点数阶码的计算和表示

关于IEEE754中,一般教材提到阶码都是用移码表示,计算规则却是偏置值+阶数。

举个栗子:

关于移码的一个问题,有点糊涂了

比如说IEEE 754的浮点数表示,在32位浮点寄存器中,-8.25的16进制表示是多少。
我怎么算都是C1840000H,而答案是C1040000H。
这其中的差别就在阶码上。阶码是用移码表示的。8.25也就是1000.01,就是1.00001乘以2^3.阶码是3.
问题来了。根据 移码就是补码符号位取反,3的补码是0000011.所以移码就是10000011;
可是答案里面说,移码就是127+3=130.所以是10000010;

上面的问题来源于百度知道,也是昨天困扰我的一个问题,查阅了相关资料才知道原来这里的阶码并不是直接用移码表示的,

准确来说是用阶数的移码减一表示的,所以3的移码10000011B减一即:10000010B,数值上等于 偏置值+阶数,即127+3=130(10000010B)。

这里的减一也从侧面理解了为啥阶码的数值范围是一般都是1~254 or 1~2046 。比如8位阶码的短浮点数,当阶码为1111 1111B

移码数值为+127即2的128(127+1即实际的阶数)次方已超过短浮点数可表示的范围,算为无穷大。

转载于:https://www.cnblogs.com/xunzhaorendaxia/p/9332353.html

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值