非常に多くのログを見つけなければなりません。
私はこれをC++で行います
すでに掛け算、足し算、引き算、割り算の関数を作ったのですが、対数に問題がありました。コードは必要ありません。これらの関数を使用してコードを実行する方法について簡単なアイデアが必要です。
ありがとう。
PS申し訳ありませんが、私はあなたに言うのを忘れました:私はその数の2進対数だけを見つけなければなりません
PS-2ウィキペディアで見つけました:
int floorLog2(unsigned int n) {
if (n == 0)
return -1;
int pos = 0;
if (n >= (1 <<16)) { n >>= 16; pos += 16; }
if (n >= (1 << 8)) { n >>= 8; pos += 8; }
if (n >= (1 << 4)) { n >>= 4; pos += 4; }
if (n >= (1 << 2)) { n >>= 2; pos += 2; }
if (n >= (1 << 1)) { pos += 1; }
return pos;
}
大きな数字で作り直した場合、正しく動作しますか?