C-Bibliotheksfunktionen -log()
C-Standardbibliothek - <math.h>
Beschreibung
C-Bibliotheksfunktionendouble log(double x)returnxDer natürliche Logarithmus (Logarithmus zur Basis e).
log()ist die C-Standardbibliothek<math.h>Eine Funktion, die den natürlichen Logarithmus (Basis e) einer Gleitkommazahl berechnet. Sie ist eine häufig verwendete mathematische Funktion, die in Bereichen wie wissenschaftlichem Rechnen, Finanzwesen und Ingenieurwesen weit verbreitet ist.
Deklaration
Das Folgende ist die Deklaration der Funktion log().
#include <math.h> double log(double x); float logf(float x); long double logl(long double x);
Parameter
x: die eingegebene Gleitkommazahl, die positiv sein muss (größer als 0).
Rückgabewert
- return
xder natürliche Logarithmus von, wennxWenn er negativ oder null ist, verursacht dies einen mathematischen Domänenfehler oder Bereichsfehler.
Fehlerbehandlung
- if
xnegativ ist,log()gibt die Funktion NaN zurück und setzterrnoistEDOM。 - if
xnull ist,log()gibt die Funktion zurück-HUGE_VAL(negative Unendlichkeit) und setzterrnoistERANGE。
Beispiel
Das folgende Beispiel veranschaulicht die Verwendung der Funktion log().
Beispiel
#include <math.h>
int main ()
{
double x, ret;
x = 2.7;
/* Berechne log(2.7) */
ret = log(x);
printf("log(%lf) = %lf", x, ret);
return(0);
}
Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:
log(2.700000) = 0.993252
Umgang mit Logarithmen mehrerer Werte
Das folgende Beispiel veranschaulicht, wie der Logarithmus mehrerer Werte behandelt wird:
Beispiel
#include <math.h>
#include <errno.h>
int main() {
double values[] = {1.0, 2.718281828, 10.0, -1.0, 0.0};
int num_values = sizeof(values) / sizeof(values[0]);
for (int i = 0; i < num_values; i++) {
double x = values[i];
errno = 0; // errno zurücksetzen
double result = log(x);
if (errno == EDOM) {
printf("Domänenfehler: log(%f) ist nicht definiert"\n", x);
} else if (errno == ERANGE) {
printf("Bereichsfehler: log(%f) führt zu einem Überlauf oder Unterlauf"\n", x);
} else {
printf("log(%f) = %f\n", x, result);
}
}
return 0;
}
Code-Erklärung
- Definieren Sie ein Array, das mehrere Gleitkommazahlen enthält
values。 - Nutzung
forDurchlaufen Sie jeden Wert und rufen Sielog(x)führe die Berechnung durch. - Zurücksetzen
errnoauf 0 setzen und auf mögliche Fehler prüfen. - Gib das Ergebnis der Logarithmusberechnung für jeden Wert oder eine Fehlermeldung aus.
Lassen Sie uns das obige Programm kompilieren und ausführen, was das folgende Ergebnis erzeugt:
log(1.000000) = 0.000000 log(2.718282) = 1.000000 log(10.000000) = 2.302585 log(-1.000000) = nan log(0.000000) = -inf
Anwendungsfall
log()Die Funktion hat ein breites Anwendungsspektrum in vielen Bereichen, einschließlich, aber nicht beschränkt auf:
- Berechne exponentielles Wachstum oder Zerfall.
- Behandle Log-Wahrscheinlichkeiten in Wahrscheinlichkeitsrechnung und Statistik.
- Löse mathematische Probleme mit logarithmischen Gleichungen.
- Berechne logarithmische Renditen im Finanzwesen.
Zusammenfassung
log()Die Funktion wird verwendet, um den natürlichen Logarithmus von Gleitkommazahlen zu berechnen, und ist ein wichtiges Werkzeug für die Behandlung logarithmischer Operationen. Bei ordnungsgemäßer Verwendunglog(), können logarithmische Operationen im wissenschaftlichen Rechnen, im Finanzwesen und in Ingenieuranwendungen implementiert und mögliche Fehlerbedingungen ordnungsgemäß behandelt werden.