【问题标题】:How many numbers can a 32 bit float represent一个 32 位浮点数可以表示多少个数字
【发布时间】:2021-01-19 17:23:12
【问题描述】:

使用 IEEE 浮点数标准,一个 32 位浮点数可以表示多少个不同的数字?

【问题讨论】:

    标签: architecture floating-point floating-accuracy


    【解决方案1】:

    IEEE-754 binary32 格式中的每个位模式代表一个不同的数字,除了:

    • 零表示两次,分别为 +0 和 -0。因此,一个是重复的。
    • 8 位指数字段中全为 1 且 23 位主要有效数字字段中为非零值的模式表示非数字 (NaN)。它们的数量是2•(223-1)。 (初始因子 2 用于符号位。)

    有 232 位模式。减去重复项和 NaN 得到 232 - 1 - 2•(223-1) = 4,278,190,081。

    请注意,以上包括+∞和-∞。要将其限制为有限数,请减去 2。

    【讨论】:

    • 不错的答案。也许“因此,一个是重复的。”如果 OP 想要或不关心它们是否是“不同的数字”,+/- 零始终是一个问题。
    猜你喜欢
    • 2021-12-30
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 2011-04-28
    • 1970-01-01
    • 2012-08-03
    • 2017-09-04
    • 1970-01-01
    相关资源
    最近更新 更多