首页 > 解决方案 > 在 Python 中,为什么最低(最小)浮点值的有效数字与最大的不同?

问题描述

我刚刚在一本机器学习傻瓜书中读到,浮点变量的最小非零值是2.2250738585082014x10^-308,最大值是1.7976931348623157x10^308.

对此有何解释?

为什么正指数和负指数的值不一样?

标签: pythonpython-2.7

解决方案


所有浮点数(double 是双精度浮点数)都写为两个值的乘积,即尾数和指数。

浮点数指数的存储方式使用 8 位(对于浮点数)或 11 位(对于双精度数),这意味着您得到的指数值为 -127 到 +128(浮点数)或 -1023 到 +1024(双精度数)。

2^1024 给我们一个值 1.797693134862315907729305190789 * 10^308,这是双精度浮点数的最大指数。

在IEEE-754 浮点转换器中进行演示

对于 Python,可以在 Python 教程的“浮点算术:问题和限制”页面中找到详细说明。


推荐阅读