Heim  >  Artikel  >  Backend-Entwicklung  >  Wie berechnet man den Logarithmus zur Basis 2 (log2) in C/C?

Wie berechnet man den Logarithmus zur Basis 2 (log2) in C/C?

Linda Hamilton
Linda HamiltonOriginal
2024-10-27 21:28:01604Durchsuche

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

Berechnung der Logarithmusbasis 2 in C/C

In C und C gibt es keine integrierte Funktion speziell zur Berechnung der Logarithmusbasis 2 (log2). Während Funktionen wie log() für Basis e und log10() für Basis 10 leicht verfügbar sind, wird log2() nicht direkt bereitgestellt.

Lösung: Mathematische Transformation

Um diese Einschränkung zu überwinden, kann man sich auf eine einfache mathematische Umrechnung verlassen. Die Formel zur Berechnung von log2 lautet wie folgt:

log2(x) = log(x) / log(2)

wobei:

  • log(x) der natürliche Logarithmus (Basis e) ist
  • log(2 ) ist der konstante Wert von ungefähr 0,693

Verwendung integrierter Funktionen

Mit der obigen Formel können Sie die Funktion log2() mithilfe der gebauten Funktion implementieren -in log() Funktion:

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>

Beispielverwendung:

<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>

Ausgabe:

log2(10) = 3.321928

Das obige ist der detaillierte Inhalt vonWie berechnet man den Logarithmus zur Basis 2 (log2) in C/C?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn