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

  • returnxder natürliche Logarithmus von, wennxWenn er negativ oder null ist, verursacht dies einen mathematischen Domänenfehler oder Bereichsfehler.

Fehlerbehandlung

  • ifxnegativ ist,log()gibt die Funktion NaN zurück und setzterrnoistEDOM。
  • ifxnull 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 <stdio.h>
#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 <stdio.h>
#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ältvalues。
  • NutzungforDurchlaufen Sie jeden Wert und rufen Sielog(x)führe die Berechnung durch.
  • Zurücksetzenerrnoauf 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.

C-Standardbibliothek - <math.h>

Weitere Erweiterungen