#include <math.h> // <cmath> en C++
double exp( double x );
float expf( float x ); // C99
long double expl( long double x ); // C99
Ces trois fonctions permettent de calculer la valeur de ex (ou e représente la constante de Néper, soit environ 2.7182818284590452354).
La différence entre ces trois fonctions réside dans le type de données utilisé pour le paramètre et la valeur de retour (double, float ou long double).
Les fonctions expf
et expl
ont été ajoutées dans C99.
Ces fonctions renvoient ex, si la magnitude de x est raisonnable (en fonction du type considéré).
Si la magnitude de x est trop grande (en fonction du type considéré) une valeur HUGE_VAL
(ou
HUGE_VALF
ou HUGE_VALL
, en fonction du type de x
) sera produite
et la variable errno
sera initialisée à la valeur ERANGE
.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
#include <math.h> #include <stdio.h> #include <stdlib.h> int main() { printf( "exp(0) == %lf\n", exp(0) ); printf( "exp(1) == %lf\n", exp(1) ); printf( "exp(2) == %lf\n", exp(2) ); printf( "exp(3) == %lf\n", exp(3) ); return EXIT_SUCCESS; } |
Il est à 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 exp(0) == 1.000000 exp(1) == 2.718282 exp(2) == 7.389056 exp(3) == 20.085537 $>
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 :