Fonctions de la bibliothèque C -log()

Bibliothèque standard C - <math.h>

Description

Fonctions de la bibliothèque Cdouble log(double x)returnxLe logarithme naturel (logarithme en base e).

log()est la bibliothèque standard C<math.h>Une fonction qui calcule le logarithme naturel (base e) d'un nombre à virgule flottante. C'est une fonction mathématique couramment utilisée, largement appliquée dans des domaines tels que le calcul scientifique, la finance et l'ingénierie.

Déclaration

Voici la déclaration de la fonction log().

#include <math.h>

double log(double x);
float logf(float x);
long double logl(long double x);

Paramètre

  • x: le nombre à virgule flottante d'entrée, qui doit être positif (supérieur à 0).

Valeur de retour

  • returnxle logarithme naturel de, sixS'il est négatif ou nul, cela provoquera une erreur de domaine mathématique ou une erreur de plage.

Gestion des erreurs

  • ifxest négatif,log()la fonction renverra NaN et définiraerrnoestEDOM。
  • ifxest nul,log()la fonction renverra-HUGE_VAL(infini négatif), et définiraerrnoestERANGE。

Exemple

L'exemple suivant montre l'utilisation de la fonction log().

Exemple

#include <stdio.h>
#include <math.h>

int main ()
{
   double x, ret;
   x = 2.7;

   /* Calculer log(2.7) */
   ret = log(x);
   printf("log(%lf) = %lf", x, ret);
   
   return(0);
}

Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :

log(2.700000) = 0.993252

Gestion des logarithmes de plusieurs valeurs

L'exemple suivant montre comment gérer le logarithme de plusieurs valeurs :

Exemple

#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;  // Réinitialiser errno
        double result = log(x);

        if (errno == EDOM) {
            printf("Erreur de domaine : log(%f) n'est pas défini\n", x);
        } else if (errno == ERANGE) {
            printf("Erreur de plage : log(%f) provoque un débordement ou un sous-débordement\n", x);
        } else {
            printf("log(%f) = %f\n", x, result);
        }
    }

    return 0;
}

Explication du code

  • Définissez un tableau contenant plusieurs nombres à virgule flottantevalues。
  • UtilisationforParcourez chaque valeur et appelezlog(x)effectuez le calcul.
  • réinitialisererrnoà 0 et vérifiez les erreurs éventuelles.
  • Affichez le résultat du calcul du logarithme pour chaque valeur, ou un message d'erreur.

Compilons et exécutons le programme ci-dessus, ce qui produira le résultat suivant :

log(1.000000) = 0.000000
log(2.718282) = 1.000000
log(10.000000) = 2.302585
log(-1.000000) = nan
log(0.000000) = -inf

Cas d'utilisation

log()La fonction a un large éventail d'applications dans de nombreux domaines, y compris, mais sans s'y limiter :

  • Calculez la croissance ou la décroissance exponentielle.
  • Gérer les probabilités logarithmiques en probabilité et statistiques.
  • Résoudre des problèmes mathématiques impliquant des équations logarithmiques.
  • Calculez les rendements logarithmiques en finance.

Résumé

log()La fonction est utilisée pour calculer le logarithme népérien des nombres à virgule flottante et est un outil important pour gérer les opérations logarithmiques. En utilisant correctementlog(), les opérations logarithmiques peuvent être mises en œuvre dans les applications de calcul scientifique, de finance et d'ingénierie, et les conditions d'erreur possibles peuvent être correctement gérées.

Bibliothèque standard C - <math.h>

autres extensions