【问题标题】:How many normalized numbers can be represented using IEEE-754 Single Precision?使用 IEEE-754 单精度可以表示多少个归一化数字?
【发布时间】:2012-09-15 13:03:06
【问题描述】:

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

1 位用于符号

8 位的指数

尾数为 23 位

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

【问题讨论】:

    标签: floating-point ieee-754


    【解决方案1】:

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

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

    乘法,这给了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)

    【讨论】:

      猜你喜欢
      • 2018-04-26
      • 1970-01-01
      • 2016-05-26
      • 1970-01-01
      • 2011-05-18
      • 1970-01-01
      • 2021-10-06
      • 2013-07-24
      • 1970-01-01
      相关资源
      最近更新 更多