Constantes de type de données
Les constantes de type de données sont des plages de valeurs dépendant de l’implémentation qui sont autorisées pour les types de données à virgule flottante et intégraux.
Constantes de type intégral
Ces constantes offrent les plages pour les types de données intégraux. Pour utiliser ces constantes, ajoutez l’en-tête limits.h dans votre fichier source :
#include <limits.h>
Remarque
L’option /J
du compilateur modifie le type par défaut char
de signed char
vers unsigned char
.
Constant | Valeur | Description |
---|---|---|
CHAR_BIT |
8 | Nombre de bits dans un char |
SCHAR_MIN |
(-128) | Valeur signed char minimale |
SCHAR_MAX |
127 | Valeur signed char maximale |
UCHAR_MAX |
255 (0xff) | Valeur unsigned char maximale |
CHAR_MIN |
(-128) (0 si /J option utilisée) |
Valeur char minimale |
CHAR_MAX |
127 (255 si /J option utilisée) |
Valeur char maximale |
MB_LEN_MAX |
5 | Nombre maximal d’octets dans un char multioctet |
SHRT_MIN |
-32768 | Valeur signed short minimale |
SHRT_MAX |
32767 | Valeur signed short maximale |
USHRT_MAX |
65535 (0xffff) | Valeur unsigned short maximale |
INT_MIN |
(-2147483647 - 1) | Valeur signed int minimale |
INT_MAX |
2147483647 | Valeur signed int maximale |
UINT_MAX |
4294967295 (0xffffffff) | Valeur unsigned int maximale |
LONG_MIN |
(-2147483647L - 1) | Valeur signed long minimale |
LONG_MAX |
2147483647L | Valeur signed long maximale |
ULONG_MAX |
4294967295UL (0xfffffffful) | Valeur unsigned long maximale |
LLONG_MIN |
(-9223372036854775807LL - 1) | Minimum signed long long ou __int64 valeur |
LLONG_MAX |
9223372036854775807LL | Maximum signed long long ou __int64 valeur |
ULLONG_MAX |
0xffffffffffffffffull | Valeur unsigned long long maximale |
_I8_MIN |
(-127i8 - 1) | Valeur 8 bits signée minimale |
_I8_MAX |
127i8 | Valeur 8 bits signée maximale |
_UI8_MAX |
0xffui8 | Valeur 8 bits non signée maximale |
_I16_MIN |
(-32767i16 - 1) | Valeur 16 bits signée minimale |
_I16_MAX |
32767i16 | Valeur 16 bits signée maximale |
_UI16_MAX |
0xffffui16 | Valeur 16 bits non signée maximale |
_I32_MIN |
(-2147483647i32 - 1) | Valeur 32 bits signée minimale |
_I32_MAX |
2147483647i32 | Valeur 32 bits signée maximale |
_UI32_MAX |
0xffffffffui32 | Valeur 32 bits non signée maximale |
_I64_MIN |
(-9223372036854775807 - 1) | Valeur 64 bits signée minimale |
_I64_MAX |
9223372036854775807 | Valeur 64 bits signée maximale |
_UI64_MAX |
0xffffffffffffffffui64 | Valeur 64 bits non signée maximale |
_I128_MIN |
(-170141183460469231731687303715884105727i128 - 1) | Valeur 128 bits signée minimale |
_I128_MAX |
170141183460469231731687303715884105727i128 | Valeur 128 bits signée maximale |
_UI128_MAX |
0xffffffffffffffffffffffffffffffffui128 | Valeur 128 bits non signée maximale |
SIZE_MAX |
identique à _UI64_MAX si elle _WIN64 est définie, ou UINT_MAX |
Taille d’un entier natif maximal |
RSIZE_MAX |
identique à (SIZE_MAX >> 1) |
Taille d’entier de bibliothèque sécurisée maximale |
Constantes de type à virgule flottante
Les constantes suivantes donnent la plage et d’autres caractéristiques des types de double
données et float
des long double
types de données. Pour utiliser ces constantes, ajoutez l’en-tête float.h dans votre fichier source :
#include <float.h>
Constant | Valeur | Description |
---|---|---|
DBL_DECIMAL_DIG |
17 | Nombre de chiffres décimaux de précision de l’arrondi |
DBL_DIG |
15 | # de chiffres décimaux de précision |
DBL_EPSILON |
2,2204460492503131e-016 | Plus petit tel que 1,0 + DBL_EPSILON != 1.0 |
DBL_HAS_SUBNORM |
1 | Le type prend en charge les nombres sous-normalisés (dénormalisés) |
DBL_MANT_DIG |
53 | Nombre de bits dans le significande (mantisse) |
DBL_MAX |
1.7976931348623158e+308 | Valeur maximale |
DBL_MAX_10_EXP |
308 | Exposant décimal maximal |
DBL_MAX_EXP |
1 024 | Exposant binaire maximal |
DBL_MIN |
2.2250738585072014e-308 | Valeur positive normalisée minimale |
DBL_MIN_10_EXP |
(-307) | Exposant décimal minimal |
DBL_MIN_EXP |
(-1021) | Exposant binaire minimal |
_DBL_RADIX |
2 | Radical d’exposant |
DBL_TRUE_MIN |
4.9406564584124654e-324 | Valeur sous-normalisée positive minimale |
FLT_DECIMAL_DIG |
9 | Nombre de chiffres décimaux de précision de l’arrondi |
FLT_DIG |
6 | Nombre de chiffres décimaux de précision |
FLT_EPSILON |
1,192092896e-07F | Plus petit tel que 1,0 + FLT_EPSILON != 1.0 |
FLT_HAS_SUBNORM |
1 | Le type prend en charge les nombres sous-normalisés (dénormalisés) |
FLT_MANT_DIG |
24 | Nombre de bits dans le significande (mantisse) |
FLT_MAX |
3,402823466e+38F | Valeur maximale |
FLT_MAX_10_EXP |
38 | Exposant décimal maximal |
FLT_MAX_EXP |
128 | Exposant binaire maximal |
FLT_MIN |
1,175494351e-38F | Valeur positive normalisée minimale |
FLT_MIN_10_EXP |
(-37) | Exposant décimal minimal |
FLT_MIN_EXP |
(-125) | Exposant binaire minimal |
FLT_RADIX |
2 | Radical d’exposant |
FLT_TRUE_MIN |
1.401298464e-45F | Valeur sous-normalisée positive minimale |
LDBL_DIG |
15 | # de chiffres décimaux de précision |
LDBL_EPSILON |
2,2204460492503131e-016 | Plus petit tel que 1,0 + LDBL_EPSILON != 1.0 |
LDBL_HAS_SUBNORM |
1 | Le type prend en charge les nombres sous-normalisés (dénormalisés) |
LDBL_MANT_DIG |
53 | Nombre de bits dans le significande (mantisse) |
LDBL_MAX |
1.7976931348623158e+308 | Valeur maximale |
LDBL_MAX_10_EXP |
308 | Exposant décimal maximal |
LDBL_MAX_EXP |
1 024 | Exposant binaire maximal |
LDBL_MIN |
2.2250738585072014e-308 | Valeur positive normalisée minimale |
LDBL_MIN_10_EXP |
(-307) | Exposant décimal minimal |
LDBL_MIN_EXP |
(-1021) | Exposant binaire minimal |
_LDBL_RADIX |
2 | Radical d’exposant |
LDBL_TRUE_MIN |
4.9406564584124654e-324 | Valeur sous-normalisée positive minimale |
DECIMAL_DIG |
identique à DBL_DECIMAL_DIG |
Chiffres décimaux (doubles) par défaut de précision de l’arrondi |