我有一个小问题。
谁知道我们如何计算日志
以 n 为底,使用 Shift_L 还是 Shift_R?
例如:对于 n=2 我们有这个解决方案:
int log(int n){
int res = 0;
while((n>>=1))
res++;
return res;
}
您似乎不需要底数的对数b
,但最大的整数n
以便n <= log_b(x)
。如果是这种情况,以下功能应该可以满足您的需求:
int intlog(double base, double x) {
return (int)(log(x) / log(base));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)