相关疑难解决方法(0)

如何用Java计算整数中的log base 2?

我使用以下函数来计算整数的log base 2:

public static int log2(int n){
    if(n <= 0) throw new IllegalArgumentException();
    return 31 - Integer.numberOfLeadingZeros(n);
}
Run Code Online (Sandbox Code Playgroud)

它有最佳性能吗?

有人知道为此目的准备好J2SE API函数吗?

UPD1令 我惊讶的是,浮点算术似乎比整数算术更快.

UPD2 由于评论,我将进行更详细的调查.

UPD3 我的整数运算函数比Math.log(n)/Math.log(2)快10倍.

java performance logarithm discrete-mathematics

134
推荐指数
7
解决办法
22万
查看次数