Heim > Backend-Entwicklung > C++ > C++-Programm zur Berechnung des Logarithmus einer gegebenen Zahl basierend auf einer gegebenen Basis

C++-Programm zur Berechnung des Logarithmus einer gegebenen Zahl basierend auf einer gegebenen Basis

WBOY
Freigeben: 2023-08-27 08:57:22
nach vorne
1326 Leute haben es durchsucht

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.

Formel zur Berechnung des Logarithmus bei gegebener Basis

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

Verwenden Sie log10(), wobei m = 10.

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

Grammatik

#include < cmath >
Log10( <number> )
Nach dem Login kopieren

Algorithmus

  • 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

Beispiel

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

Ausgabe

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

Verwenden Sie log2(), wobei m = 2.

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

Grammatik

#include < cmath >
Log2( <number> )
Nach dem Login kopieren

Algorithmus

  • 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

Beispiel

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

Ausgabe

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

Verwenden Sie log(), wenn m=e.

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

Grammatik

#include < cmath >
log( <number> )
Nach dem Login kopieren

Algorithmus

  • 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

Beispiel

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

Ausgabe

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

Fazit

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!

Verwandte Etiketten:
Quelle:tutorialspoint.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage