首页 > 解决方案 > IEEE 754 恒等律:字面意义和改变价值的优化

问题描述

IEEE 754-2008 标准说,对于像这样的表达式0 + x1 * x可以应用身份属性(第 10.4 节):

当 x 不是信号 NaN 并且结果具有与 x 相同的指数时,应用恒等属性 1 × x。

我想知道“结果与x具有相同的指数”是什么意思?

标签: floating-pointnanieee-754

解决方案


我认为它们的意思是二进制表示的指数字段。

即使对于 QNaN,乘以 1 也不会改变指数,即使有效数字(NaN 有效负载)发生变化也是如此。所有 NaN 都具有相同的全一指数编码。(无穷大是有效数=0的全1指数;该指数值的整个其余编码空间都花在了基本上没有人使用的NaN有效负载上。)

对于任何非 NaN,当您乘以 1 时,指数字段不会改变,这一点是非常真实的。有效位或符号位也不会改变。(IIRC,1.0 * -0.0 = -0.0)。


推荐阅读