Voici une table regroupant les bornes minimales imposées par le C, les implémentations peuvent naturellement les étendre.
type | maximum de la valeur minimale | minimum de la valeur maximale |
char | 0 | 127 |
signed char | -127 | 127 |
unsigned char | 0 | 255 |
short | -32 767 | 32 767 |
unsigned short | 0 | 65 535 |
int | -32 767 | 32 767 |
unsigned | 0 | 65 535 |
long | -2 147 483 647 | 2 147 483 647 |
unsigned long | 0 | 4 294 967 295 |
Macros | |
#define | CHAR_BIT |
nombre de bits dans un char . | |
#define | SCHAR_MIN |
valeur minimale d'un signed char . | |
#define | SCHAR_MAX |
valeur maximale d'un signed char . | |
#define | UCHAR_MAX |
valeur maximale d'un unsigned char . | |
#define | CHAR_MIN |
valeur minimale d'un char . | |
#define | CHAR_MAX |
valeur maximale d'un char . | |
#define | MB_LEN_MAX |
Taille maximale d'un caractère multibyte. | |
#define | SHRT_MIN |
valeur minimale d'un short . | |
#define | SHRT_MAX |
valeur maximale d'un short . | |
#define | USHRT_MAX |
valeur maximale d'un unsigned short . | |
#define | INT_MIN |
valeur minimale d'un int . | |
#define | INT_MAX |
valeur maximale d'un int . | |
#define | UINT_MAX |
valeur maximale d'un unsigned . | |
#define | LONG_MIN |
valeur minimale d'un long . | |
#define | LONG_MAX |
valeur maximale d'un long . | |
#define | ULONG_MAX |
valeur maximale d'un unsigned long . |
#define CHAR_BIT |
Nombre de bits dans un char
. Vaut au minimum 8.
Les char
de plus de 8 bits sont rares. De nos jours on les trouve principalement dans les implémentations pour les processeurs de traitement de signal qui n'ont pas la possibilité d'adresser des unités plus petites que le mot. Ces processeurs étant peu utilisés pour manipuler des caractères, il n'y a pas d'intérêt à compliquer l'implémentation pour fournir un char
plus petit. Historiquement, il y a eu des implémentations utilisant un char de 9 bits (et peut-être d'autres valeurs étranges à des yeux modernes).
#define CHAR_MAX |
Valeur maximale d'un char
. Le type char
ayant la même représentation d'un des deux types signed char
ou unsigned char
, c'est soit UCHAR_MAX
, soit SCHAR_MAX
,
#define CHAR_MIN |
Valeur minimale d'un char
. Le type char
ayant la même représentation d'un des deux types signed char
ou unsigned char
, c'est soit 0 soit SCHAR_MIN
.
#define INT_MAX |
Valeur maximale d'un int
.
#define INT_MIN |
Valeur minimale d'un int
.
#define LONG_MAX |
Valeur maximale d'un long
.
#define LONG_MIN |
Valeur minimale d'un long
.
#define MB_LEN_MAX |
Le nombre maximal de bytes dans un caractère multibyte pour toutes les locales.
MB_CUR_MAX
. #define SCHAR_MAX |
Valeur maximale d'un signed char
.
#define SCHAR_MIN |
Valeur minimale d'un signed char
.
#define SHRT_MAX |
Valeur maximale d'un short
.
#define SHRT_MIN |
Valeur minimale d'un short
.
#define UCHAR_MAX |
Valeur maximale d'un unsigned char
.
#define UINT_MAX |
Valeur maximale d'un unsigned
.
#define ULONG_MAX |
Valeur maximale d'un unsigned long
.
#define USHRT_MAX |
Valeur maximale d'un unsigned short
.