2

问题如下:

写下所有在单精度的 IEEE-754 中具有 1 个以上表示的实数。

现在,考虑到 +0 和 -0 不同,是否有任何数字具有此属性?

4

1 回答 1

1

没有了。

IEEE754 表示是规范的,这意味着所有数字都只有一种表示(如果有的话),没有其他表示。

IEEE754 单精度浮点数的格式

31                             0
seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm

映射到

(-1)^s * 2^(eeeeeeee - 127) * 1.mmmmmmmmmmmmmmmmmmmmmmm(二进制)

表示的唯一性证明

  • 符号在符号位中编码,s。相同实数的两个假定的不同表示必须具有相同的 值s,因为只有该字段控制符号。
  • 最高有效位的位置,在十进制逗号左侧的数字位置中,在八个指数位1中以偏置格式编码。eeeeeeee相同实数的两个假定的不同表示必须具有相同的 值eeeeeeee,因为只有该字段控制最高有效 1 位的位置。
  • 紧接在最高有效位之下的 231位被编码在尾数 ( mmmm...) 中。1同一实数的两个假定不同的表示必须具有相同的尾数值,因为只有该字段控制紧接在实数的最高有效位下方的 23 位。

结论是矛盾的。相同实数的两个假定不同的表示必须具有相同的符号、指数和尾数;换句话说,它们必须是相同的。

该讨论忽略了所有特殊值,例如无穷大、NaN 和非规范化。

于 2013-11-15T04:36:34.490 回答