我对IEEE 754-2008的假设:
binary16 - 2 ^ 16个不同的值, binary32 - 2 ^ 32个不同的值, ... binary128 - 2 ^ 128个不同的值。
这是对的吗?
答案 0 :(得分:7)
这是一个棘手的问题。
浮点格式定义了一些特殊值。您是否将这些视为不同取决于您的观点。以下是双精度(binary64):
所以,总结一下:
2*(2^11-1)*2^52-1 = 18,437,736,874,454,810,623
。对于binary16,不同实数的数量为2*(2^5-1)*2^10-1 = 63,487
。对于binary32,它是2*(2^8-1)*2^23-1=4,278,190,079
。对于binary128,它是2*(2^15-1)*2^112-1
或约3.4*10^38
。