Attention ici on fait du c Ansi , et nous ne voyons pas tous les types qui existent actuellement.
🔢 Types entiers en C ANSI
| Type | Signé / Non signé | Taille typique (en bits) | Plage de valeurs |
|---|---|---|---|
char | signĂ© ou non signĂ© (selon l’implĂ©mentation) | 8 | -128 Ă 127 ou 0 Ă 255 |
signed char | signé | 8 | -128 à 127 |
unsigned char | non signé | 8 | 0 à 255 |
short / short int | signé | ≥16 | -32,768 à 32,767 |
unsigned short | non signé | ≥16 | 0 à 65,535 |
int | signé | ≥16 (souvent 32) | -32,768 à 32,767 ou -2,147,483,648 à 2,147,483,647 |
unsigned int | non signé | même taille que int | 0 à 65,535 ou 0 à 4,294,967,295 |
long / long int | signé | ≥32 | -2,147,483,648 à 2,147,483,647 |
unsigned long | non signé | ≥32 | 0 à 4,294,967,295 |
📌 En C ANSI, les tailles exactes dépendent de la machine et du compilateur, mais il existe des tailles minimales garanties.
đź§® Macros utiles (<limits.h>)
Tu peux connaître les valeurs limites exactes via ces macros :
#include <limits.h>
printf("INT_MAX = %d\n", INT_MAX);
printf("INT_MIN = %d\n", INT_MIN);
printf("UINT_MAX = %u\n", UINT_MAX);
printf("LONG_MAX = %ld\n", LONG_MAX);
printf("CHAR_BIT = %d\n", CHAR_BIT); // nombre de bits dans un char
on peut regarder ce fichier /usr/include/limits.h
