IEEE 754浮点数可以表示具有多个位排列的完全相同的值吗?
例如:
128 exp 3 == 1024.0
256 exp 2 == 1024.0
1024 exp 0 == 1024.0
IEEE 754标准是否认为不同的比特安排在比较时值相等,只要净值最终看起来相同?
我正在研究一些自定义压缩算法,知道是否有多种方法来表示相同的值(为了增强压缩),这非常有用。
答案 0 :(得分:2)
通常的 二进制 IEEE 754浮点类型没有您所指的那种冗余。数字始终是规范化,因此有效数位于1.0
和2.0
之间(或二进制之间的1.0
和10.0
之间)。它们确实有正零和负零之类的东西,以及许多具有不同内部表示的NaN
。
但是,较新的 十进制 IEEE 754浮点类型确实存在此冗余:3.14
之类的数字可以表示为314
用指数2;指数为3的3140
;指数为4的31400
;等等。