python - 在 Python 中,为什么最低(最小)浮点值的有效数字与最大的不同?
问题描述
我刚刚在一本机器学习傻瓜书中读到,浮点变量的最小非零值是2.2250738585082014x10^-308
,最大值是1.7976931348623157x10^308
.
对此有何解释?
为什么正指数和负指数的值不一样?
解决方案
所有浮点数(double 是双精度浮点数)都写为两个值的乘积,即尾数和指数。
浮点数指数的存储方式使用 8 位(对于浮点数)或 11 位(对于双精度数),这意味着您得到的指数值为 -127 到 +128(浮点数)或 -1023 到 +1024(双精度数)。
2^1024 给我们一个值 1.797693134862315907729305190789 * 10^308,这是双精度浮点数的最大指数。
在IEEE-754 浮点转换器中进行演示
对于 Python,可以在 Python 教程的“浮点算术:问题和限制”页面中找到详细说明。
推荐阅读
- angular - 订阅者返回订阅者不是信息
- email-attachments - 为什么pdf文件附加到邮件时无法打开
- algorithm - Memoization 显示缓慢问题解决了动态编程问题
- python - 为什么我的代码在使用 'return' 而不是 'print()' 时没有返回预期值
- kubernetes - 为什么我不能从 vm ping docker.io 但我可以 ping google?
- continuous-integration - 在 Travis CI 中手动触发构建
- linux - 如何使用 bash 脚本中的变量在谷歌浏览器中运行 url
- react-native - 如何拍照并从图库中导入图像
- tensorflow - 将 LSTM 用于固定大小的输入和可变大小的输入的区别
- android-studio - 如何仅使用arcore通过触摸屏幕来删除锚点?