私はその事実をテストする必要がありました
整数 = 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
さて、これは上記のステートメントを正確に証明するものではありません.入力データの間違った選択が原因ですか、それとも私のコードですか?