Heim > Artikel > Backend-Entwicklung > C++-Programm zur Berechnung des Logarithmus einer gegebenen Zahl basierend auf einer gegebenen Basis
In fast allen modernen Programmiersprachen finden wir einige logarithmische Funktionen wie den natürlichen Logarithmus, den Logarithmus zur Basis 2, den Logarithmus zur Basis 10 usw. Aber manchmal müssen wir Logarithmen verschiedener Basen berechnen, die nicht in den angegebenen Bibliotheksfunktionen enthalten sind. Um dies zu erreichen, können wir eine einfache logarithmische Formel verwenden. In diesem Artikel erfahren Sie, wie Sie in C++ den logarithmischen Wert anhand einer gegebenen Zahl und einer gegebenen Basis berechnen.
Angenommen, wir haben eine Zahl x genommen, deren Basis k ist, die ebenfalls angegeben wurde. Die Formel lautet wie folgt: Die Übersetzung von follow −
lautet: follow −$$mathrm{log_{k}left ( x right )=frac{log_{m}left ( x right )}{log_{m}left ( k right )}}$$
wobei m eine beliebige bekannte (verfügbare Basis) ist
Die C++-cmath-Bibliothek bietet die Methode log10() zum Ermitteln des Logarithmus zur Basis 10 einer bestimmten Zahl. uns Die gleiche Funktion kann verwendet werden, um den Logarithmus einer gegebenen Basis k zu berechnen. Die verwendete Syntax ist: Ein Beispiel für log10() lautet wie folgt: −
#include < cmath > Log10( <number> )
Lesen Sie zwei Zahlen x und k
res := (verwenden Sie log10(x), um den Logarithmus zur Basis 10 von x zu ermitteln) / (verwenden Sie log10(k), um den Logarithmus zur Basis 10 von k zu ermitteln)
Returns
#include <iostream> #include <cmath> using namespace std; float solve( int x, int k){ float answer; answer = log10( x ) / log10( k ); return answer; } int main(){ cout << "Log base 8 for input x = 512 is: " << solve( 512, 8 ) << endl; cout << "Log base 9 for input x = 59049 is: " << solve( 59049, 9 ) << endl; cout << "Log base 2 for input x = 1024 is: " << solve( 1024, 2 ) << endl; cout << "Log base 4 for input x = 256 is: " << solve( 256, 4 ) << endl; }
Log base 8 for input x = 512 is: 3 Log base 9 for input x = 59049 is: 5 Log base 2 for input x = 1024 is: 10 Log base 4 for input x = 256 is: 4
In der cmath-Bibliothek in C++ können Benutzer mit der Methode log2() den Logarithmus zur Basis 2 ermitteln angegebene Nummer. Die gleiche Funktion kann verwendet werden, um den Logarithmus einer angegebenen Basis k zu berechnen Die folgende Syntax wird verwendet, um log2() −
zu verwenden#include < cmath > Log2( <number> )
Lesen Sie zwei Zahlen x und k
res := (verwenden Sie log2( x ), um den Logarithmus zur Basis 2 von x zu ermitteln) / (verwenden Sie log2( k ), um den Logarithmus zur Basis 2 von x zu ermitteln)
Returns
#include <iostream> #include <cmath> using namespace std; float solve( int x, int k){ float answer; answer = log2( x ) / log2( k ); return answer; } int main(){ cout << "Log base 8 for input x = 512 is: " << solve( 512, 8 ) << endl; cout << "Log base 9 for input x = 59049 is: " << solve( 59049, 9 ) << endl; cout << "Log base 2 for input x = 1024 is: " << solve( 1024, 2 ) << endl; cout << "Log base 4 for input x = 256 is: " << solve( 256, 4 ) << endl; }
Log base 8 for input x = 512 is: 3 Log base 9 for input x = 59049 is: 5 Log base 2 for input x = 1024 is: 10 Log base 4 for input x = 256 is: 4
In der cmath-Bibliothek in C++ können Benutzer mit der natürlichen Logarithmus-Methode log() den Logarithmus ermitteln Verwenden Sie die Basis „e“ für die angegebene Zahl. Logarithmen können mit einer angegebenen Basis k berechnet werden Gleiche Funktionalität. Die folgende Syntax wird verwendet, um die log()-Funktion −
zu verwenden#include < cmath > log( <number> )
Lesen Sie zwei Zahlen x und k
res := (Finden Sie den Logarithmus von x zur Basis e mit log(x)) / (Finden Sie den Logarithmus von x zur Basis e mit log(k))
Returns
#include <iostream> #include <cmath> using namespace std; float solve( int x, int k){ float answer; answer = log( x ) / log( k ); return answer; } int main(){ cout << "Log base 8 for input x = 512 is: " << solve( 512, 8 ) << endl; cout << "Log base 9 for input x = 59049 is: " << solve( 59049, 9 ) << endl; cout << "Log base 2 for input x = 1024 is: " << solve( 1024, 2 ) << endl; cout << "Log base 4 for input x = 256 is: " << solve( 256, 4 ) << endl; }
Log base 8 for input x = 512 is: 3 Log base 9 for input x = 59049 is: 5 Log base 2 for input x = 1024 is: 10 Log base 4 for input x = 256 is: 4
Verwenden Sie die logarithmische Formel einer bestimmten Basis, um das logarithmische Ergebnis zu erhalten. Wir verwenden eine beliebige bekannte Basislogarithmusmethode für eine gegebene Zahl x und dividieren sie durch Verwenden Sie als Eingabe einen bekannten Wert als logarithmische Basis der neuen Basis. In diesem Artikel verwenden wir Drei bekannte logarithmische Funktionen sind log10(), log2() und log() [natürlicher Logarithmus] Erzeugt Ergebnisse für die angegebenen Zahlen und ihre angegebene Basis.
Das obige ist der detaillierte Inhalt vonC++-Programm zur Berechnung des Logarithmus einer gegebenen Zahl basierend auf einer gegebenen Basis. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!