Notions de bases en C

Les types de données:

Quand on crée une variable, il faut que le compilateur sache la taille mémoire nécessaire pour stocker le contenu de cette variable et comment les données seront traitées lors des opérations arithmétiques ou logiques.

Il y a quatre types de données fondamentaux:

Types Description Taille (en bits)
char Simple caractère 8
int Entier 16
float Nombre à virgule flottante simple précision 32
double Nombre à virgule flottante double précision 32

 

La taille de ces types n’est pas standard. Par exemple pour le type int la taille dépend de la largeur de l’unité arithmétique et logique (ALU) du microcontrôleur utilisé ; 16 bits pour un microcontrôleur 16 bits; 32 bits pour un microcontrôleur 32 bits. A contrario pour le compilateur XC8 destiné aux microcontrôleurs 8 bits, le type int est définit sur 16 bits soit 2 x 8 bits.

Il y a aussi deux autres types de données : le type void et le type enum que nous verront par la suite.

Les quatre types de données fondamentaux précédents peuvent être modifiés en ajoutant des qualificatifs sous forme de préfixes comme : signed, unsigned, short et long.

Le tableau ci-après donne un aperçu dans le cas du type int:

 

Type qualifié Valeur mini Valeur maxi Taille (en bits)
unsigned char 0 255 8
char, signed char  -127 127 8
unsigned short int 0 65535 16
short int, signed int -32768 32767 16
unsigned int 0 65535 16
int, signed int -32768 32767 16
unsigned long int 0 232 - 1 32
long int, signed long int -231 231 - 1 32
unsigned long long int 0 264 - 1 64
Long long int, signed long long int -263 263 - 1 64

 

Le terme int employé ici dans certain cas est optionnel. Par exemple unsigned int peut être remplacé par unsigned, lors d’une déclaration. Toutes ces options sont repérées par la couleur bleu dans le tableau.

Les types float et double peuvent être représentés en virgule flottante. Voir tableau ci-après:

 

Type qualifié Minimum absolu Maximum absolu Taille(en bits)
float ±1044, 85 ±1038, 53 32
double ±1044, 85 ±1038, 53 32
long double ±10323, 3 ±10308, 3 64

 

La majorité des compilateurs adopte ce mode de représentation des données.

Ce site web utilise des cookies

Certains d’entre eux sont essentiels pour son fonctionnement et d’autres nous aident à améliorer l’expérience utilisateur (cookies traceurs). Vous pouvez décider vous-même si vous autorisez ou non ces cookies. Merci de noter que, si vous les rejetez, certaines fonctionnalités du site pourront être défaillantes.