python - 最大科学记数法?

标签 python python-3.x floating-point

如果我没记错的话, float 将一定数量的位分配给幂,并将一定数量的位分配给有效数字。然而,我在理解 64 位 Linux 系统上 python3 中的最大浮点科学计数法数字时遇到了一些困难:

>>> 1.8e308
inf
>>> 1.7e308
1.7e+308

这是怎么回事?

需要明确的是,我对最大浮点值不感兴趣。我对它的值(value)背后的推理很感兴趣。例如,对于有效数字部分,似乎溢出会发生在 2 的偶次幂上。为什么这种情况会发生在 1.7 和 1.8 之间?这看起来很奇怪。

最佳答案

“1.7”和“1.8”不是浮点表示的小数部分中的数字。它们是用十进制表示数字得出的十进制数字,而不是二进制 float 。

溢出发生在 2 的幂,21024,大约为 1.797693•10308

关于python - 最大科学记数法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54096013/

相关文章:

python - 如何将pandas数据框中的列中具有不同值的行组合起来

javascript - AJAX 请求后从 Flask 返回错误消息并在 JavaScript 上处理它?

python - python3中的扩展序列解包

python - 在PyQt5中关闭/打开vlc播放器后如何使用QWinThumbnailToolBar恢复任务栏缩略图

python - 当我复制然后编辑此列表时到底发生了什么?

r - 如何找到 betareg 包接受的最小浮点值?

c++ - 使用 C++,有没有办法检测编译器/系统是否将 floats/doubles 非规范化为 "normalized"?

python - 了解如何在 Python 中使用 COM

python - 范围非默认参数遵循默认参数

java - 在 Java 中将 float 提高到一定的幂