【发布时间】:2012-09-15 13:03:06
【问题描述】:
基于 IEEE-754 单精度标准,如果我知道以下内容,我怎么知道可以表示多少个归一化数字:
1 位用于符号
8 位的指数
尾数为 23 位
是否有可以应用于任何其他浮点系统的规则?
【问题讨论】:
基于 IEEE-754 单精度标准,如果我知道以下内容,我怎么知道可以表示多少个归一化数字:
1 位用于符号
8 位的指数
尾数为 23 位
是否有可以应用于任何其他浮点系统的规则?
【问题讨论】:
您已经确定了表示的每个部分的位数,因此您已经完成了一半。有:
乘法,这给了2 * 2^23 * (2^8 - 2),或等效的2^32 - 2^25,完全有可能。所以在 IEEE 754 binary32 格式中有 2^32 - 2^25 = 4261412864 不同的正常数字。从技术上讲,这两个零不是正常数字,但如果你想将它们包括在计数中,你会得到2^32 - 2^25 + 2。
是的,这直接推广到所有其他 IEEE 754 二进制交换格式。我会让你找到双精度、半精度、四精度等的数字。
只是为了好玩,这里有一个完整的细分:
2 个零(符号 0 或 1,指数和有效数字字段为零)
2^24 - 2 个次正规数(符号 0 或 1,指数字段为零,有效数字字段非零)
2^32 - 2^25 个正常数(如上)
2 个无穷大(符号 0 或 1,指数字段全为 1,有效数字字段为零)
2^23 - 2 信号 NaN(符号 0 或 1,指数字段全为 1,有效数字字段非零但第一位为零)
2^23 个安静的 NaN(符号 0 或 1,指数字段全为 1,有效数字字段的第一位为 1)
【讨论】: