自定义对数Lua(答案有技巧,可以在几乎任何语言中使用)

我正在为Lua开发一个基数转换器,可以将任何数字的基数转换为另一个基数。为此,我需要一个对数计算器。示例函数(其中logarithm(100,10)将等于log10(100),它将等于2):

function logarithm(value, base)
    ... -- 算法在这里
end
print(logarithm(100, 10))

这将输出:

2

P.S:我希望该算法接受任何基数、任何值。

点赞
用户3088138
用户3088138

你总是可以使用下面这个公式:

logb(a) = logc(a) / logc(b)

其中 c 是已提供的任意一个底数,例如自然对数的欧拉数 e 或者 10,有时也会提供基数为2的对数。

2014-06-08 00:00:06