Participer au site avec un Tip
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 :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Fonctions exp10m1, exp10m1f et exp10m1l

Entête à inclure

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

Fonctions exp10m1, exp10m1f et exp10m1l

double exp10m1( double x );                     // C23
float exp10m1f( float x );                      // C23
long double exp10m1l( long double x );          // C23

Ces trois fonctions permettent de calculer la valeur de 10 élevé à la puissance x, moins 1. 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).

Ces trois fonctions ont été intégrées au standard C23. Avec GCC, vous pouvez demander ce niveau de standard en rajoutant l'option -std=c23. Notez aussi que leur disponibilité dépend de la librairie C fournie avec votre compilateur.

Paramètre

Valeur de retour

Exemple de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
#include <math.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    printf( "exp10m1(0) == %g\n", exp10m1(0) );
    printf( "exp10m1(1) == %g\n", exp10m1(1) );
    printf( "exp10m1(2) == %g\n", exp10m1(2) );
    printf( "exp10m1(3) == %g\n", exp10m1(3) );

    double res = exp10m1( 1000000 );
    if ( res == HUGE_VAL ) {
        printf( "exp10m1(1000000) - errno == ERANGE: %d\n", errno == ERANGE );
    }

    return EXIT_SUCCESS;
}
Exemple d'utilisation de la fonction exp10m1.

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 -std=c23
$>  ./sample
exp10m1(0) == 0
exp10m1(1) == 9
exp10m1(2) == 99
exp10m1(3) == 999
exp10m1(1000000) - errno == ERANGE: 1
$> 

Sujets connexes

Les fonctions exp, expf et expl
Les fonctions exp2, exp2f et exp2l
Les fonctions exp10, exp10f et exp10l
Les fonctions pow, powf et powl


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé