浮点数的精度

时间:2017-02-01 08:57:40

标签: python floating-point

Python中的浮点数有多精确?它总是双精度还是实现或平台特定的?它在CPython和PyPy中有区别吗?

2 个答案:

答案 0 :(得分:3)

来自 Python 文档:

  

浮点数通常使用C中的 double 来实现;   有关 精度 和内部表示的信息   程序所在机器的浮点数   运行在 sys.float_info 中可用。

sys.float_info是一个结构序列,包含有关float类型的信息。它包含有关精度和内部表示的低级信息。

import sys

print(sys.float_info.mant_dig)

mant_dig属性指向浮点精度:浮点数有效数中的基数 - 数字

  

几乎所有平台都将Python浮点数映射到IEEE 754 double   精度。

答案 1 :(得分:1)

Size of data: 95
Size of struct: 96

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.220446049250313 e-16,基数= 2,舍入= 1)

在此处找到:https://docs.python.org/3/library/stdtypes.html#typesnumeric 第4.4节

这对你有帮助吗?