【发布时间】:2013-06-22 14:24:03
【问题描述】:
问题如下:
写下所有在单精度的 IEEE-754 中具有超过 1 个表示形式的实数。
现在,考虑到 +0 和 -0 不同,是否有任何数字具有此属性?
【问题讨论】:
问题如下:
写下所有在单精度的 IEEE-754 中具有超过 1 个表示形式的实数。
现在,考虑到 +0 和 -0 不同,是否有任何数字具有此属性?
【问题讨论】:
没有。
IEEE754 表示是规范的,这意味着所有数字都只有一种表示(如果有),没有其他表示。
31 0
seeeeeeeemmmmmmmmmmmmmmmmmmmmmmm
映射到
(-1)^s * 2^(eeeeeeee - 127) * 1.mmmmmmmmmmmmmmmmmmmmmmmm(二进制)
s 中编码。同一实数的两个假定不同的表示必须具有相同的值 s,因为只有该字段控制符号。1 位的位置,在十进制逗号左侧的数字位置中,在八个eeeeeeee 指数位中以偏置格式编码。相同实数的两个假定不同的表示必须具有相同的值 eeeeeeee,因为只有该字段控制最高有效 1 位的位置。1 位下面的23 位在尾数(mmmm...) 中编码。同一实数的两个假定不同的表示形式必须具有相同的尾数值,因为只有该字段控制紧接在实数的最重要 1 位下方的 23 位。结论是矛盾的。相同实数的两个假定不同的表示必须具有相同的符号、指数和尾数;换句话说,它们必须是相同的。
本讨论忽略了所有特殊值,例如无穷大、NaN 和非正规数。
【讨论】: