这里拿float举例 float 的阶码位有8位,偏置常数为127 按道理说应该是2^8 -1=256 -1=255 减去偏置常数 128~-127 但是,因为浮点数有一些...阶码的范围为127 ~ -127 这也是偏置常数设置成127的原因——保证正负对称 ...
这里拿float举例
float 的阶码位有8位,偏置常数为127
至于为什么是127而不是128,可参考浮点数的偏置常数的文末)
按道理说应该是2^8 -1=256 -1=255
减去偏置常数
-127~128
但是,因为浮点数有一些特殊表示
当阶码全为1时(阶码:255 -127=128),用于表示非数NaN或无穷
当阶码全为0时,用于表示0(正负0,此时无隐藏位)
这是特殊情况
所以,对规格化数来说,也就是一般情况来说
阶码的范围为-126~127
关于IEEE754中,一般教材提到阶码都是用移码表示,计算规则却是偏置值+阶数。 举个栗子: 关于移码的一个问题,有点糊涂了 比如说IEEE 754的浮点数表示,在32位浮点寄存器中,-8.25的16进制表示是多少。我怎么算...
关于IEEE754中,一般教材提到阶码都是用移码表示,计算规则却是偏置值+阶数。
举个栗子:
比如说IEEE 754的浮点数表示,在32位浮点寄存器中,-8.25的16进制表示是多少。
我怎么算都是C1840000H,而答案是C1040000H。
这其中的差别就在阶码上。阶码是用移码表示的。8.25也就是1000.01,就是1.00001乘以2^3.阶码是3.
问题来了。