python - 64 位整数与 64 位 float : which one has more values?

标签 python

64 位整数和 64 位 float 哪个值更多?

我的回答是 float 更有值(value),因为它更准确。

但是整数不是总是大于 float 吗?

最佳答案

64 位整数中有更多唯一值(二进制补码机为 2^64)。

但是,64 位 float 的值范围要大得多

这可以简单地推理出来,因为 64 位整数对每个唯一值都有唯一的位模式(“100% 有效”),而 64 位 float 有专用符号位(它允许 -0,但 -0 == 0 is true)以及一些“特殊模式”(例如 NaN,其中有 multiple representations)从而减少 unique 的总数 float 可以表示的值。

参见 IEEE-754 article on Wikipedia并查看有关 Representation of non-numbers 的部分

关于python - 64 位整数与 64 位 float : which one has more values?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9643526/

相关文章:

python - Django模型继承: create sub-instance of existing instance (downcast)?

python - 使用.format和变量的python字符串格式化

python - BigQuery 代码由于使用 pandas python 客户端库的 MemoryError 而失败

python - 使用 openpyxl 写入 Excel 会产生不同的字符符号

python - 如何使用 OpenCV 去除灰度图像的七个低位

python - Seaborn 和 Matplotlib 添加相对于轴的文本

Python 有限自动机库

python - sqlalchemy 中的并发

python - 如何计算QPolygon面积

python - 统一码编码错误 : 'ascii' codec can't encode character u'\xf3' in position 16: ordinal not in range(128)