Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
少し問題があります。Shift_L または Shift_R を使用して対数底 n を計算する方法を誰が知っていますか?
例: n=2 の場合、次の解決策がありました。
int log(int n){ int res = 0; while((n>>=1)) res++; return res; }
底の対数は必要ないようですbが、最大の整数nはn <= log_b(x). その場合は、次の関数がニーズに応えます。
b
n
n <= log_b(x)
int intlog(double base, double x) { return (int)(log(x) / log(base)); }