Python中的浮点数有多精确?它总是双精度还是实现或平台特定的?它在CPython和PyPy中有区别吗?
答案 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节
这对你有帮助吗?