8

基于 IEEE-754 单精度标准,如果我知道以下内容,我怎么知道可以表示多少个归一化数字:

1 位用于标志

8 位为指数

尾数为 23 位

是否有可以应用于任何其他浮点系统的规则?

4

1 回答 1

14

您已经确定了表示的每个部分的位数,因此您已经完成了一半。有:

  • 2^1 = 符号的 2 种可能性
  • 2^8 = 256 种可能的指数位,其中两种保留用于非正规:全零的指数字段用于浮点零和次正规,而全为一的指数字段用于无穷大和 nan
  • 2^23 = 8388608 尾数的可能性(请注意,“有效位”通常是首选术语)。

乘法,这给出了2 * 2^23 * (2^8 - 2),或者等价地2^32 - 2^25,完全有可能。2^32 - 2^25 = 4261412864所以在 IEEE 754 binary32 格式中有不同的正常数字。从技术上讲,这两个零不是正常数字,但如果您想将它们包括在计数中,您会得到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)

于 2012-09-24T07:36:15.987 回答