我刚读过《傻瓜机器学习》一书,浮点变量的最小非零值是2.2250738585082014x10^-308
,最大值是1.7976931348623157x10^308
。
对此有什么解释?
为什么正负指数值不同?
答案 0 :(得分:5)
所有浮点数(double是双精度浮点数)都写为尾数和指数这两个值的乘积。
浮点数指数的存储方式使用8位(对于浮点数)或11位(对于双精度数),这意味着您将获得-127到+128(浮点数)或-1023到+1024(双精度数)的指数值
2 ^ 1024的值为1.797693134862315907729305190789 * 10 ^ 308,这是双精度浮点数的最大指数。
在IEEE-754 Floating Point Converter中有一个演示
对于Python,可以在Python教程的“浮点算术:Issues and Limitations"”页中找到详细说明。