Namespaces
Variants

log, logf, logl

From cppreference.net
< c ‎ | numeric ‎ | math
Common mathematical functions
Functions
Basic operations
(C99)
(C99)
(C99)
(C99) (C99) (C99) (C23)
Maximum/minimum operations
Exponential functions
log
(C99)
(C99) (C23)
(C23)
(C23)
Power functions
Trigonometric and hyperbolic functions
Nearest integer floating-point
(C99) (C99) (C99)
(C23) (C23) (C23) (C23)
Floating-point manipulation
Narrowing operations
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quantum and quantum exponent
Decimal re-encoding functions
Total order and payload functions
Classification
Error and gamma functions
(C99)
(C99)
(C99)
(C99)
Types
Macro constants
Special floating-point values
Arguments and return values
Error handling
Fast operation indicators
Défini dans l'en-tête <math.h>
float logf ( float arg ) ;
(1) (depuis C99)
double log ( double arg ) ;
(2)
long double logl ( long double arg ) ;
(3) (depuis C99)
Défini dans l'en-tête <tgmath.h>
#define log( arg )
(4) (depuis C99)
1-3) Calcule le logarithme naturel (base e ) de arg .
4) Macro générique de type : Si arg a le type long double , logl est appelé. Sinon, si arg a un type entier ou le type double , log est appelé. Sinon, logf est appelé. Si arg est complexe ou imaginaire, alors la macro appelle la fonction complexe correspondante ( clogf , clog , clogl ).

Table des matières

Paramètres

arg - valeur en virgule flottante

Valeur de retour

Si aucune erreur ne se produit, le logarithme naturel (base- e ) de arg ( ln(arg) ou log e (arg) ) est retourné.

Si une erreur de domaine se produit, une valeur définie par l'implémentation est retournée (NaN là où supporté).

Si une erreur de pôle se produit, -HUGE_VAL , -HUGE_VALF , ou -HUGE_VALL est retourné.

Gestion des erreurs

Les erreurs sont signalées comme spécifié dans math_errhandling .

Une erreur de domaine se produit si arg est inférieur à zéro.

Une erreur de pôle peut se produire si arg est nul.

Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE (IEC 60559),

  • Si l'argument est ±0, -∞ est retourné et FE_DIVBYZERO est déclenché.
  • Si l'argument est 1, +0 est retourné
  • Si l'argument est négatif, NaN est retourné et FE_INVALID est déclenché.
  • Si l'argument est +∞, +∞ est retourné
  • Si l'argument est NaN, NaN est retourné.

Exemple

#include <errno.h>
#include <fenv.h>
#include <float.h>
#include <math.h>
#include <stdio.h>
// #pragma STDC FENV_ACCESS ON
int main(void)
{
    printf("log(1) = %f\n", log(1));
    printf("base-5 logarithm of 125 = %f\n", log(125) / log(5));
    // special values
    printf("log(1) = %f\n", log(1));
    printf("log(+Inf) = %f\n", log(INFINITY));
    // error handling
    errno = 0; feclearexcept(FE_ALL_EXCEPT);
    printf("log(0) = %f\n", log(0));
    if (errno == ERANGE)
        perror("    errno == ERANGE");
    if (fetestexcept(FE_DIVBYZERO))
        puts("    FE_DIVBYZERO raised");
}

Sortie :

log(1) = 0.000000
base-5 logarithm of 125 = 3.000000
log(1) = 0.000000
log(+Inf) = inf
log(0) = -inf
    errno == ERANGE: Numerical result out of range
    FE_DIVBYZERO raised

Références

  • Norme C23 (ISO/CEI 9899:2024) :
  • 7.12.6.7 Les fonctions log (p: TBD)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: TBD)
  • F.10.3.7 Les fonctions log (p: TBD)
  • Norme C17 (ISO/CEI 9899:2018) :
  • 7.12.6.7 Les fonctions log (p: 178-179)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: 272-273)
  • F.10.3.7 Les fonctions log (p: 380)
  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.12.6.7 Les fonctions log (p: 244-245)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: 373-375)
  • F.10.3.7 Les fonctions log (p: 522)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.12.6.7 Les fonctions log (p : 225)
  • 7.22 Mathématiques génériques de type <tgmath.h> (p : 335-337)
  • F.9.3.7 Les fonctions log (p : 459)
  • Norme C89/C90 (ISO/IEC 9899:1990) :
  • 4.5.4.4 La fonction log

Voir aussi

calcule le logarithme commun (base 10 ) ( log 10 (x) )
(fonction)
(C99) (C99) (C99)
calcule le logarithme base-2 ( log 2 (x) )
(fonction)
(C99) (C99) (C99)
calcule le logarithme naturel (base e ) de 1 plus le nombre donné ( ln(1+x) )
(fonction)
(C99) (C99)
calcule e élevé à la puissance donnée ( e x )
(fonction)
(C99) (C99) (C99)
calcule le logarithme naturel complexe
(fonction)