Fonctions de base en langage C/math.h

Début de la boite de navigation du chapitre
math.h
Icône de la faculté
Chapitre no 4
Leçon : Fonctions de base en langage C
Chap. préc. :errno.h
Chap. suiv. :stdio.h
fin de la boite de navigation du chapitre
En raison de limitations techniques, la typographie souhaitable du titre, « Fonctions de base en langage C : math.h
Fonctions de base en langage C/math.h
 », n'a pu être restituée correctement ci-dessus.

Description modifier

Le fichier d'en-tête <math.h> déclare des fonctions mathématiques. Ces fonctions respectent la norme IEEE 754.

Tous leurs paramètres et résultats sont du type double. Les angles sont indiqués en radians.

Les fonctions modifier

  Pour une description détaillée des fonctions mathématiques, voir le WikiLivre Programmation C, chapitre Mathématiques.

Limitations et problèmes modifier

Les nombres flottants sont représentés en machine par une mantisse et un exposant signés codés sur un nombre d'octets limités, par exemple sur ma machine : 4 octets pour un float et 8 pour un double (voir IEEE 754). Les nombre utilisables sont donc un sous-ensemble de l’ensemble mathématique des décimaux  .

  • limitations dues au codage de l'exposant (valeurs données à titre d'exemple sur un Mac Mini) :
    • impossible de représenter des grands nombres négatifs et positifs, exemple DBL_MAX = 1.797693e+308.
    • limitations pour les valeurs trop proches de 0 en négatif et positif, exemple DBL_MIN = 2.225074e-308.
  • limitations dues au codage de la mantisse : l'écart entre deux doubles successifs ne peut pas être plus petit que DBL_EPSILON = 2.220446e-16.
  • Les résultats d'opérations ou fonctions peuvent provoquer des dépassements de capacité.

Les erreurs signalées par les fonctions modifier

En cas de problème, les fonctions rangent dans errno (voir errno.h et man de la fonction) :

  • EDOM : Erreur de domaine pour les paramètres : sqrt(-1.0).
  • ERANGE : Erreur si le résultat ne peut pas être représenté sur un double.