发布网友 发布时间:2022-04-29 18:25
共4个回答
热心网友 时间:2022-06-19 00:19
因为IEEE754的尾数部分标准化后首位的1会隐藏掉。
比如8是2的3次,不算隐藏为位的话,阶码是3的移码131,但有隐藏位后,尾数部分全部左移一位,阶码减1变成130,并且把尾数的首位数字1隐去。为方便记忆直接称为127移码。
补充:IEEE 754 标准是IEEE浮点数算术标准(IEEE Standard for Floating-Point Arithmetic)的标准编号[1] ,等同于国际标准ISO/IEC/IEEE 60559[2] 。该标准由美国电气电子工程师学会(IEEE)计算机学会旗下的微处理器标准委员会(Microprocessor Standards Committee, MSC)发布。
热心网友 时间:2022-06-19 00:20
因为ieee754的尾数部分标准化后首位的1会隐藏掉。热心网友 时间:2022-06-19 00:20
谢谢,不过你的这个理解是错的:你的观点是因为尾数的隐藏位造成了指数偏移量不是128而是127热心网友 时间:2022-06-19 00:21
阶码 E = 指数 e + 偏移量。
偏移量,为什么是 127?
IEEE754 中规定:
当阶码 E 为全 0,且尾数M 也为全 0 时,表示数值 X = ±0。
当阶码 E 为全 1,且尾数M 也为全 0 时,表示数值 X 为 ±∞。
---------------------
一般情况下,阶码 E 的取值,就要避免全 0 全 1。
那么,阶码 E 的取值范围是: 1~254。
但是,指数 e 的取值范围是:-128~127。
对比一下,偏移量,真不好选!
如果选 128,指数 e 中的-128、+127 就不能用了。
如果选 127,指数 e 中的-128、-127 就不能用了。
否则,将会出现 E = 0 或 E = 255。
---------------------
IEEE 最终选择了 127,大概是投硬币决定的吧。