C/C での対数の底 2 の計算
C および C には、対数の底を計算するための専用の組み込み関数は存在しません。 2 (log2)。基数 e の log() や基数 10 の log10() などの関数はすぐに利用できますが、log2() は直接提供されていません。
解決策: 数学的変換
この制限を克服するには、単純な数学的変換に頼ることができます。 log2 を計算する式は次のとおりです:
log2(x) = log(x) / log(2)
ここで:
組み込み関数の使用
上記の式を使用すると、組み込み関数を使用して log2() 関数を実装できます。 -in log() 関数:
C :
<code class="cpp">double log2(double x) { return log(x) / log(2); }</code>
C:
<code class="c">double log2(double x) { return log(x) / log(2.0); }</code>
使用例:
<code class="cpp">#include <iostream> #include <math.h> int main() { double x = 10; double log2_result = log2(x); std::cout << "log2(" << x << ") = " << log2_result << std::endl; return 0; }</code>
出力:
log2(10) = 3.321928
以上がC/C で底 2 の対数 (log2) を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。