我每天都在我的公司用Python 2.4工作.我使用了标准数学库中的多功能对数函数'log',当我输入log(2**31,2)时,它返回31.000000000000004,这让我感到有点奇怪.
我用2的其他力量做了同样的事情,它完美地运作了.我跑了'log10(2**31)/ log10(2)',我得到了一轮31.0
我尝试在Python 3.0.1中运行相同的原始函数,假设它是在更高级的版本中修复的.
为什么会这样?Python中的数学函数有可能存在一些不准确之处吗?
python math floating-point
floating-point ×1
math ×1
python ×1