可以以浮点格式存储多少个不同的值?
我对 IEEE 754-2008 的假设:
binary16 - 2^16 不同的值, binary32 - 2^32 个不同的值, ... binary128 - 2^128 个不同的值。
这是正确的吗?
My assumptions for IEEE 754-2008:
binary16 - 2^16 distinct values,
binary32 - 2^32 distinct values,
...
binary128 - 2^128 distinct values.
Is this correct?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这是一个技巧问题。
浮点格式定义了一些特殊值。您是否认为这些是不同的取决于您的观点。以下是双精度(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
。This is a trick question.
The floating-point formats define some special values. Whether you count these as distinct depends on your point of view. The following is for double-precision (binary64):
So, to summarize:
2*(2^11-1)*2^52-1 = 18,437,736,874,454,810,623
.For binary16, the number of distinct real numbers is
2*(2^5-1)*2^10-1 = 63,487
. For binary32, it's2*(2^8-1)*2^23-1=4,278,190,079
. For binary128, it's2*(2^15-1)*2^112-1
or about3.4*10^38
.