我需要使用logb
from C++之类的内容,但谷歌搜索会出现absolutely nothing useful而我无法理解如何根据该C ++文档复制该功能。
有谁知道如何为JS制作polyfill或等效函数?
答案 0 :(得分:1)
来自您关联的文件
返回| x |的对数,使用FLT_RADIX作为基数 对数。
在大多数平台上,FLT_RADIX是2,因此这个函数是 相当于正值的log2。
所以你只需要计算log2(|x|)
的内容。
Math.log(Math.abs(x))/Math.log(2)
对数函数有一个基础,最常见的是10,因为我们在基数为10的数字系统中工作。计算机的通用基础是基础2,因为它在二进制系统中工作。转换碱基可以通过使用这个公式来完成。
记录 b (x)= Log v (x)/ Log v (b)
只需将Log(x)
放在您想要的任何基础(例如10个)中,然后将其除以Log(b)
。
关于它的相关链接:
http://www.mathwords.com/c/change_of_base_formula.htm https://www.khanacademy.org/math/algebra2/exponential-and-logarithmic-functions/change-of-base-formula-for-logarithms/a/logarithm-change-of-base-rule-intro
您可以选择以下功能:
// get the log value of x using base b
function logb(x, b) {
return Math.log(x)/Math.log(b);
}