提问者:小点点

使用IEEE-754单精度可以表示多少个标准化数字?


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

1位用于标志

指数为8位

尾数为23位

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


共1个答案

匿名用户

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

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

乘法,这给了2*2^23*(2^8-2),或者等价地2^32-2^25,完全的可能性。所以有2^32-2^25=4261412864不同的IEEE754 binary32格式的普通数。从技术上讲,这两个零不是普通数,但是如果你想把它们包括在计数中,你会得到2^32-2^25 2

是的,这直接推广到所有其他IEEE754二进制交换格式。我让你来找到双精度、半精度、四倍精度等的数字。

只是为了好玩,这里有一个完整的细分:

>

  • 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作为第一位)