Intervalos de tipos de dados
Os compiladores de 32 bits e 64 bits do Visual C++ reconhecem os tipos na tabela mais adiante neste artigo.
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)
Se o nome começa com sublinhados duplos (__), um tipo de dados é diferente do padrão.
Os intervalos especificados na tabela a seguir são inclusivo-inclusivo.
Nome do tipo |
Bytes |
Outros nomes |
Intervalo de valores |
---|---|---|---|
int |
4 |
signed |
–2.147.483.648 a 2.147.483.647 |
unsigned int |
4 |
sem sinal |
0 a 4.294.967.295 |
__int8 |
1 |
char |
–128 a 127 |
unsigned __int8 |
1 |
unsigned char |
0 a 255 |
__int16 |
2 |
short, short int, signed short int |
–32.768 a 32.767 |
unsigned __int16 |
2 |
unsigned short, unsigned short int |
0 a 65.535 |
__int32 |
4 |
signed, signed int, int |
–2.147.483.648 a 2.147.483.647 |
unsigned __int32 |
4 |
unsigned, unsigned int |
0 a 4.294.967.295 |
__int64 |
8 |
long long, signed long long |
–9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 |
unsigned __int64 |
8 |
unsigned long long |
0 a 18.446.744.073.709.551.615 |
bool |
1 |
nenhum |
false ou true |
char |
1 |
nenhum |
–128 a 127 por padrão 0 a 255 quando compilado usando /J |
signed char |
1 |
nenhum |
–128 a 127 |
unsigned char |
1 |
nenhum |
0 a 255 |
short |
2 |
short int, signed short int |
–32.768 a 32.767 |
unsigned short |
2 |
unsigned short int |
0 a 65.535 |
long |
4 |
long int, signed long int |
–2.147.483.648 a 2.147.483.647 |
unsigned long |
4 |
unsigned long int |
0 a 4.294.967.295 |
long long |
8 |
none (mas equivalente a __int64) |
–9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 |
unsigned long long |
8 |
none (mas equivalente a unsigned __int64) |
0 a 18.446.744.073.709.551.615 |
enum |
varia |
nenhum |
Consulte Observações posteriormente neste artigo |
float |
4 |
nenhum |
3.4E +/- 38 (7 dígitos) |
double |
8 |
nenhum |
1.7E +/- 308 (15 dígitos) |
long double |
igual a double |
nenhum |
Igual a double |
wchar_t |
2 |
__wchar_t |
0 a 65.535 |
Dependendo de como é usada, uma variável de __wchar_t designa um tipo de caractere largo ou um tipo de caractere multibyte. Use o prefixo L antes de uma constante de caractere ou de cadeia de caracteres para designar a constante de tipo de caractere largo.
signed e unsigned são os modificadores que você pode usar com qualquer tipo integral, exceto bool. Observe que char, signed char e unsigned char são três tipos distintos para fins de mecanismos como sobrecarga e modelos.
Os tipos int e unsigned int têm um tamanho de quatro bytes. No entanto, o código portátil não deve depender do tamanho de int porque o padrão de linguagem permite que ele seja específico da implementação.
C/C++ no Visual Studio também tem suporte para tipos de inteiros dimensionados. Para obter mais informações, consulte __int8, __int16, __int32, __int64 e Limites de inteiro.
Para obter mais informações sobre as restrições de tamanhos de cada tipo, consulte Tipos fundamentais (C++).
O intervalo dos tipos enumerados varia dependendo do contexto de linguagem e dos sinalizadores de compilador especificados. Para obter mais informações, consulte Declarações de enumeração C e Declarações de enumeração C++.