python中可以表示的最小数字是多少?
我见过2.05623357236e-296
这么小但可以有更小的吗?
答案 0 :(得分:7)
>>> 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
答案 1 :(得分:5)
检查sys.float_info.min
。请注意,这是规范化值的最小值;最小denormalized value可能更小,但数值精度会受到影响。
对于通常的64位浮点数,标准化的min约为2.2e-308
。非规范化的最小值可以小得多,低至4.94e-324
:
>>> 5e-324
4.9406564584124654e-324
值得指出的是,decimal
模块的Decimal
类型可以代表任意小数,仅受可用内存的限制。