Fonctions de base en langage C/math.h
Apparence
Description
[modifier | modifier le wikicode]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 | modifier le wikicode]
Limitations et problèmes
[modifier | modifier le wikicode]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 | modifier le wikicode]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.