【发布时间】:2013-01-29 06:57:27
【问题描述】:
为什么math.log10(x) 和math.log(x,10) 结果不同?
In [1]: from math import *
In [2]: log10(1000)
Out[2]: 3.0
In [3]: log(1000,10)
Out[3]: 2.9999999999999996
【问题讨论】:
-
一些浮点精度问题
-
看起来 log(1000,10) 被解释为 log(1000)/log(10),这是有道理的。然后归结为具有直接 log10 函数与执行两个对数并将它们相除的浮点误差之间的区别。前者更准确也就不足为奇了。