Types de données



Les valeurs des variables sont stockés quelque part dans un endroit non précisé dans la mémoire de l'ordinateur sous forme de zéros et de uns. Notre programme n'a pas besoin de connaitre l'emplacement exacte où une variable est stockée, il peut simplement se référer à elle par son nom. La seul chose que le programme doit être conscient est le type de données de la variable stockées. Il y a une différence entre stocker un entier simple ou stocker une lettre ou un grand nombre à virgule, même si ils sont tous représentés par des zéros et des uns ils ne sont pas interprétés de la même manière, et dans de nombreux cas, ils n'occupent pas le même quantité de mémoire.

Les type de données commun sont des type de base venant directement du langage qui représente les unités de stockage pris en charge nativement par la plupart des systèmes. Ils peuvent principalement être classés en :

Types de caractères : Ils peuvent représenter un caractère unique, comme 'A' ou '$'. Le type le plus commun est char, qui un caractère d'un octet (8 bits). D'autres types sont également prévus pour les caractères larges.

Types d'entiers numérique : Ils peuvent stocker une valeur de nombre entier, tel que 7 ou 1024. Elles existent en une variété de tailles et peuvent être soit signé ou non signé selon qu'ils prennent en charge les valeurs négatives ou non.

Types à virgule flottante : Ils peuvent représenter des valeurs réelles telles que 3.14 ou 0.01 avec différents niveaux de précision.

Type Boolean : Le type booléen, connu en C++ sous le mot clé bool ne peut prendre que deux états, true ou flase.

Voici la liste compète des principaux type en C++ :
Groupe Nom en C++* Note sur la taille / précision
types de caractère char
char16_t
char32_t
wchar_t
Exactement un octet en taille (8 bits)
Plus grand que char. 16 bits
Plus grand que char16_t. 32 bits
Représente le plus grand jeu de caractères pris en charge.
types d'entier (signé) signed char
signed short int
signed int
signed long int
signed long long int
Même taille que char. 8 bits. Plage de -128 à 127
Entier court (16 bits) plage de -32 768 à 32 767
Entier de 32 bits sur les processeur 32 bits. Plage de -2 147 483 648 à 2 147 483 647
Entier long de 32 bits. Plage de -2 147 483 648 à 2 147 483 647
Entier très long de 64 bits. Plage de -9 223 372 036 854 775 808 à +9 223 372 036 854 775 807
types d'entier (non signé) unsigned char
unsigned short int
unsigned int
unsigned long int
unsigned long long int
Même taille que char. 8 bits. Plage de 0 à 255
Entier court (16 bits) plage de 0 à 65 535
Entier de 32 bits sur les processeur 32 bits. Plage de 0 à 4 294 967 295
Entier long de 32 bits. Plage de 0 à 4 294 967 295
Entier très long de 64 bits. Plage de 0 à 18 446 744 073 509 551 615
types à virgule flottante float
double
long double
Flottant (réel) de 32 bits. Plage de -3.4*10-38 à 3.4*1038
Flottant double de 64 bits. Plage de -1.7*10-308 à 1.7*10308
Flottant double long de 80 bits. Plage de -3.4*10-4932 à 3.4*104932
types booléen bool Même taille que le type int, parfois 1 sur quelques compilateurs. Prend deux valeurs : 'true' et 'false' mais une conversion implicite (valant 0 ou 1) est faite par le compilateur lorsque l'on affecte un entier (en réalité toute autre valeur que 0 est considérée comme égale à True).
types void void Aucun stockage


* Les noms de certain types entiers peuvent êtres abrégées en enlevant signed et int qui les compose. La partie qui n'est pas en italique est obligatoire pour identifier le type, la partie en italique est facultative. C'est à dire signed shot int peut être abrégée par signed short, short int, ou tout simplement par short. Ils identifient tous le même type de base.

Remarque : Dans le tableau si dessus seul le type char qui a une taille de 1 octet ne peux pas changer. Pour le reste de type leur taille minimum est celle indiqué dans le tableau mais leur taille peuvent changer selon la version du compilateur utilisé.