ホームページ > バックエンド開発 > C++ > C/C で底 2 の対数 (log2) を計算するにはどうすればよいですか?

C/C で底 2 の対数 (log2) を計算するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-10-27 21:28:01
オリジナル
694 人が閲覧しました

How to Calculate Logarithm Base 2 (log2) in C/C  ?

C/C での対数の底 2 の計算

C および C には、対数の底を計算するための専用の組み込み関数は存在しません。 2 (log2)。基数 e の log() や基数 10 の log10() などの関数はすぐに利用できますが、log2() は直接提供されていません。

解決策: 数学的変換

この制限を克服するには、単純な数学的変換に頼ることができます。 log2 を計算する式は次のとおりです:

log2(x) = log(x) / log(2)
ログイン後にコピー

ここで:

  • log(x) は自然対数 (底 e)
  • log(2 ) は約 0.693 の定数値です

組み込み関数の使用

上記の式を使用すると、組み込み関数を使用して 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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート