Python中可以表示的最小数字是什么?
我见过的最小数是2.05623357236e-296
,但还有更小的吗?
Python中可以表示的最小数字是什么?
我见过的最小数是2.05623357236e-296
,但还有更小的吗?
>>> import sys
>>> sys.float_info
sys.float_info(max=1.7976931348623157e+308, max_exp=1024, max_10_exp=308, min=2.2250738585072014e-308, min_exp=-1021, min_10_exp=-307, dig=15, mant_dig=53, epsilon=2.220446049250313e-16, radix=2, rounds=1)
来自文档
从文档中
min DBL_MIN minimum positive normalized float
min_exp DBL_MIN_EXP minimum integer e such that radix**(e-1) is a normalized float
在我的系统中,它被标记为min=2.2250738585072014e-308
。请检查 sys.float_info.min
。注意这是最小的规范化值;最小的非规范化值可能更小,但数值精度会降低。
通常使用64位浮点数,规范化的最小值约为2.2e-308
。非规范化的最小值可以更小,低至4.94e-324
:
>>> 5e-324
4.9406564584124654e-324
值得一提的是,decimal
模块中的 Decimal
类型可以表示任意小的数字,仅受可用内存限制。