Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Macro M_E

Entête à inclure

#include <math.h>  // <cmath> en C++

Macro M_E (Non Standard)

#define M_E        2.7182818284590452354

Cette macro définie la valeur, de type double, de la constante e. Cette valeur, aussi appelée constante de Néper, ou nombre d'Euler (en référence aux mathématiciens Leonhard Euler et John Napier), vaut environ 2.7182818284590452354. Elle est à la base des fonctions de calculs de logarithmes népérien (ou de logarithmes naturels).

Cette valeur est plus précisément définie par ln(e) = 1 ou comme somme de la série suivante :

cette macro n'est pas définie dans la norme ISO du langage C. Pour autant, de nombreux compilateurs la propose et notamment « gcc ».
Avec Visual Studio et le compilateur Microsoft, il est nécessaire de définir la macro suivante : #define _USE_MATH_DEFINES.

Exemple de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    printf( "ln(e) == %lf\n", log( M_E ) );
    
    return EXIT_SUCCESS;
}

Il est a noter que la librairie mathématique doit être ajoutée durant l'étape de "link" (édition des liens) de votre exécutable. Cela se réalise en ajoutant l'option -lm à votre compilateur GCC. En cas d'utilisation d'un autre compilateur, je vous renvoie vers la documentation de ce dernier.

$> gcc -o sample Sample.c -lm
$> ./sample
ln(e) == 1.000000
$> 

Sujets connexes

Les fonctions exp, expf et expl
Les fonctions log, logf et logl