基于IEEE-754单精度标准,如果我知道以下内容,我怎么知道可以表示多少标准化数字:
符号为1位
指数为8位
尾数为23位
是否有可以应用于任何其他浮点系统的规则?
您已经确定了表示的每个部分的位数,因此您已经到了一半 . 有:
2 ^ 1 = 2个符号的可能性
2 ^ 8 =指数位的256种可能性,其中两种保留用于非法线:全零的指数字段用于浮点零和次正规,而所有1的指数字段用于无穷大和NaN的尾数的可能性为
2 ^ 23 = 8388608(注意'significand'通常是首选术语) .
乘法,完全给出 2 * 2^23 * (2^8 - 2) 或等效的 2^32 - 2^25 . 因此IEEE 754 binary32格式中有 2^32 - 2^25 = 4261412864 个不同的正常数字 . 从技术上讲,这两个零不是正常数字,但是如果你想将它们包括在计数中,你会得到 2^32 - 2^25 + 2 .
2 * 2^23 * (2^8 - 2)
2^32 - 2^25
2^32 - 2^25 = 4261412864
2^32 - 2^25 + 2
是的,这直接推广到所有其他IEEE 754二进制交换格式 . 我会留给你找到双精度,半精度,四倍精度等数字 .
只是为了好玩,这是一个完整的细分:
2个零(符号0或1,指数和有效数字段为零)
2 ^ 24 - 2个次正规数(符号0或1,指数字段0,有效数字段非零)
2 ^ 32 - 2 ^ 25正常数字(如上)
2个无穷大(符号0或1,指数字段全1,有效数字段0)
2 ^ 23 - 2信号NaNs(符号0或1,指数字段全1,有效数字段非零但零第一位)
2 ^ 23安静的NaNs(符号0或1,指数字段全部为1,有效数字段为1作为第一位)
1 回答
您已经确定了表示的每个部分的位数,因此您已经到了一半 . 有:
2 ^ 1 = 2个符号的可能性
2 ^ 8 =指数位的256种可能性,其中两种保留用于非法线:全零的指数字段用于浮点零和次正规,而所有1的指数字段用于无穷大和NaN的
尾数的可能性为
2 ^ 23 = 8388608(注意'significand'通常是首选术语) .
乘法,完全给出
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,指数字段0,有效数字段非零)
2 ^ 32 - 2 ^ 25正常数字(如上)
2个无穷大(符号0或1,指数字段全1,有效数字段0)
2 ^ 23 - 2信号NaNs(符号0或1,指数字段全1,有效数字段非零但零第一位)
2 ^ 23安静的NaNs(符号0或1,指数字段全部为1,有效数字段为1作为第一位)