我使用以下函数计算整数的日志基数2:
public static int log2(int n){
if(n <= 0) throw new IllegalArgumentException();
return 31 - Integer.numberOfLeadingZeros(n);
}
它有最佳的性能吗?
是否有人知道为此目的准备好 J2SEAPI 函数?
UPD1 < em > 令我惊讶的是,浮点运算似乎比整数运算更快。
UPD2 < em > 根据评论,我将进行更详细的调查。
我的整数算术函数比 Math.log (n)/Math.log (2)快10倍。