Heim > Backend-Entwicklung > C++ > 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
Freigeben: 2024-10-27 21:28:01
Original
695 Leute haben es durchsucht

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)
Nach dem Login kopieren

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>
Nach dem Login kopieren

C:

<code class="c">double log2(double x) {
    return log(x) / log(2.0);
}</code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

Ausgabe:

log2(10) = 3.321928
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage