我需要测试一个事实
如果你从一个整数 = 1 开始,然后将它加倍 log N(以 2 为底)次,你会得到 N
我以为我会为此编写一些Java代码..但是,这就是我得到的
public class Log2NDoubling {
public static void main(String[] args) {
int s = 1;
int N = 10;
double lg2N = log2(N);
int intlg2N = (int)lg2N;
for(int i=0;i< intlg2N;i++){
s *= 2;
}
System.out.println("s="+s);
}
private static double log2(int x){
return Math.log10(x)/Math.log10(2);
}
}
产生了一个输出
s=8.0
好吧,这并不能完全证明上述陈述......输入数据的错误选择是罪魁祸首还是我的代码?