首页 > 解决方案 > 一个 32 位浮点数可以表示多少个数字

问题描述

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

标签: architecturefloating-pointfloating-accuracy

解决方案


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

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

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

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


推荐阅读