Plages de types de données
Les compilateurs Visual C++ 32 bits et 64 bits identifient les types de la table dans la suite de cet article.
int (unsigned int)
__int8 (unsigned __int8)
__int16 (unsigned __int16)
__int32 (unsigned __int32)
__int64 (unsigned __int64)
short (unsigned short)
long (unsigned long)
long long (unsigned long long)
Si son nom commence par deux traits de soulignement (__), un type de données est non standard.
Les plages spécifiées dans le tableau ci-dessous sont inclusives-inclusives.
Nom de type |
Octets |
Autres noms |
Plage de valeurs |
---|---|---|---|
int |
4 |
signed |
–2 147 483 648 à 2 147 483 647 |
unsigned int |
4 |
non signé |
0 à 4 294 967 295 |
__int8 |
1 |
char |
–128 à 127 |
unsigned __int8 |
1 |
unsigned char |
0 à 255 |
__int16 |
2 |
short, short int, signed short int |
–32 768 à 32 767 |
unsigned __int16 |
2 |
unsigned short, unsigned short int |
0 à 65 535 |
__int32 |
4 |
signed, signed int, int |
–2 147 483 648 à 2 147 483 647 |
unsigned __int32 |
4 |
unsigned, unsigned int |
0 à 4 294 967 295 |
__int64 |
8 |
long long, signed long long |
–9 223 372 036 854 775 808 à 9 223 372 036 854 775 807 |
unsigned __int64 |
8 |
unsigned long long |
0 à 18,446,744,073,709,551,615 |
bool |
1 |
aucun |
false ou true |
char |
1 |
aucun |
–128 à 127 par défaut 0 à 255 une fois compilé à l'aide de /J |
signed char |
1 |
aucun |
–128 à 127 |
unsigned char |
1 |
aucun |
0 à 255 |
short |
2 |
short int, signed short int |
–32 768 à 32 767 |
unsigned short |
2 |
unsigned short int |
0 à 65 535 |
long |
4 |
long int, signed long int |
–2 147 483 648 à 2 147 483 647 |
unsigned long |
4 |
unsigned long int |
0 à 4 294 967 295 |
long long |
8 |
aucun (mais équivaut à __int64) |
–9 223 372 036 854 775 808 à 9 223 372 036 854 775 807 |
unsigned long long |
8 |
aucun (mais équivaut à unsigned __int64) |
0 à 18,446,744,073,709,551,615 |
enum |
selon le cas |
aucun |
Consultez Notes dans la suite de cet article. |
float |
4 |
aucun |
3.4E +/- 38 (7 chiffres) |
double |
8 |
aucun |
1.7E +/- 308 (15 chiffres) |
long double |
identique à double |
aucun |
Identique à double |
wchar_t |
2 |
__wchar_t |
0 à 65 535 |
Selon la façon dont elle est utilisée, une variable de __wchar_t désigne un type caractères larges ou un type caractères multioctets. Utilisez le préfixe L avant une constante caractère ou chaîne pour désigner la constante de type caractères larges.
signed et unsigned sont des modificateurs que vous pouvez utiliser avec tout type d'entier sauf bool. Notez que char, signed char et unsigned char sont trois types distincts qui servent aux mécanismes tels que la surcharge et les modèles.
Les types int et unsigned int ont une taille de quatre octets. Toutefois, le code portable ne doit pas dépendre de la taille d'int, car la norme du langage permet que cela soit propre à l'implémentation.
C/C++ dans Visual Studio prend également en charge les types entier dimensionnés. Pour plus d'informations, consultez __int8, __int16, __int32, __int64 et Limites d'entier.
Pour plus d'informations sur les restrictions de tailles de chaque type, consultez Types fondamentaux (C++).
La plage de types énumérés varie selon le contexte du langage et les indicateurs spécifiés du compilateur. Pour plus d'informations, consultez Déclarations d'énumération C et Déclarations d'énumération C++.