我在寻找Golden Ratio formula找到第n个斐波那契数,它让我好奇。Python的小数精度与C的小数精度相比如何?
我知道Python可以处理任意大的整数,但是用小数时会得到什么样的精度?它是直接在C double之上吗?还是它使用了更精确的修改实现呢? (显然不是以任意的精度; D)
我在寻找Golden Ratio formula找到第n个斐波那契数,它让我好奇。Python的小数精度与C的小数精度相比如何?
我知道Python可以处理任意大的整数,但是用小数时会得到什么样的精度?它是直接在C double之上吗?还是它使用了更精确的修改实现呢? (显然不是以任意的精度; D)
Python的彩车用double类型的底层C编译器。正如Bwmat所说,这通常是IEEE-754双精度。
但是,如果您需要更高的精度,可以使用在Python 2.4中添加的Python decimal module。
Python 2.6还增加了fraction module这可能更适合某些问题。
这两个都比使用float类型要慢,但这是更高精度的代价。
几乎所有的平台都映射Python浮点到IEEE-754“双精度”。
http://docs.python.org/tutorial/floatingpoint.html#representation-error
另外还有decimal module任意精度浮点运算