为什么Ruby Math.log函数返回错误的值?

时间:2016-09-01 17:22:50

标签: ruby logarithm

给定3 ^ 5(3 ** 5或3 * 3 * 3 * 3 * 3)= 243。

Ruby为什么/如何做以下事情:

n = 243
Math.log(n,3)
returns: 
4.999999999999999

Math.log(243)/Math.log(3)
returns: 
4.999999999999999

3**Math.log(n,3)
returns:
242.99999999999977

最后一个真正得到了我。这里出了什么问题?我错过了什么?既?

谢谢!

1 个答案:

答案 0 :(得分:1)

值没有错,这是因为浮点精度有限。