English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
de la bibliothèque standard C float.h Le fichier d'en-tête contient un ensemble de constantes dépendantes de la plateforme liées aux valeurs flottantes. Ces constantes ont été proposées par l'ANSI C, ce qui rend les programmes plus portables. Avant d'expliquer ces constantes, il est préférable de comprendre que les nombres flottants sont composés des quatre éléments suivants :
composant | description du composant |
---|---|
S | le symbole ( +/- ) |
b | le nombre de base exprimé par l'exponentiel,2 représentée en binaire,10 représentée en décimal,16 représentée en hexadécimal, etc... |
e | exponentielle, une valeur comprise entre la valeur minimale emin et la valeur maximale emax entiers entre |
p | précision, le nombre de chiffres significatifs de la base b |
basé sur ce qui précède 4 composants, une valeur en virgule flottante telle que :
flottant-point = ( S ) p x be
ou}}
flottant-point = (+/-) précision x baseexponent
Les valeurs suivantes sont spécifiques à l'implémentation et sont définies par l'instruction #define, et ces valeurs ne doivent pas être inférieures aux valeurs indiquées ci-dessous. Veuillez noter que tous les exemples FLT font référence au type float, DBL au type double, et LDBL au type long double.
Macro | Description |
---|---|
FLT_ROUNDS | Définit le mode d'arrondi de l'addition flottante, qui peut être l'un des valeurs suivantes :
|
FLT_RADIX 2 | Cette macro définit la base pour l'exponentiel représenté. 2 Représente en binaire, base 10 Représente en décimal, base 16 Représente en hexadécimal. |
FLT_MANT_DIG DBL_MANT_DIG LDBL_MANT_DIG | Ces macros définissent le nombre de chiffres dans le radix FLT_RADIX. |
FLT_DIG 6 DBL_DIG 10 LDBL_DIG 10 | Ces macros définissent la valeur maximale décimale qui ne change pas après arrondi (base 10) |
FLT_MIN_EXP DBL_MIN_EXP LDBL_MIN_EXP | Ces macros définissent la valeur minimale entière négative de l'exponentiel pour la base FLT_RADIX. |
FLT_MIN_10_EXP -37 DBL_MIN_10_EXP -37 LDBL_MIN_10_EXP -37 | Ces macros définissent la base pour l'exponentiel. 10 La valeur minimale entière négative de l'exponentiel. |
FLT_MAX_EXP DBL_MAX_EXP LDBL_MAX_EXP | Ces macros définissent la valeur maximale entière de l'exponentiel pour la base FLT_RADIX. |
FLT_MAX_10_EXP +37 DBL_MAX_10_EXP +37 LDBL_MAX_10_EXP +37 | Ces macros définissent la base pour l'exponentiel. 10 La valeur maximale entière de l'exponentiel. |
FLT_MAX 1E+37 DBL_MAX 1E+37 LDBL_MAX 1E+37 | Ces macros définissent la valeur maximale flottante finie. |
FLT_EPSILON 1E-5 DBL_EPSILON 1E-9 LDBL_EPSILON 1E-9 | Ces macros définissent la plus petite valeur significative représentable. |
FLT_MIN 1E-37 DBL_MIN 1E-37 LDBL_MIN 1E-37 | Ces macros définissent la valeur minimale flottante. |
L'exemple suivant montre l'utilisation de certaines constantes définies dans le fichier float.h.
#include <stdio.h> #include <float.h> int main() { printf("La valeur maximale de float = %.10E\n", FLT_MAX); printf("La valeur minimale de float = %.10e\n", FLT_MIN); printf("Le nombre de chiffres = %.10e\n", FLT_MANT_DIG); }
Compilons et exécutons le programme ci-dessus, cela produira le résultat suivant :
La valeur maximale de float = 3.4028234664e+38 La valeur minimale de float = 1.1754943508e-38 Le nombre de chiffres de number = 7.2996655210e-312