Intervalos de tipos de dados
Os compiladores de 32 bits e 64 bits Microsoft 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 | unsigned |
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 | |
float |
4 | nenhum | 3.4E +/- 38 (7 dígitos) |
double |
8 | nenhum | 1.7E +/- 308 (15 dígitos) |
long double |
mesmo que double |
nenhum | Mesmo que 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 mais informações, confira __int8, __int16, __int32, __int64
e Limites de Inteiro.
Para mais informações sobre as restrições de tamanhos de cada tipo, confira Tipos integrados.
O intervalo dos tipos enumerados varia dependendo do contexto de linguagem e dos sinalizadores de compilador especificados. Para mais informações, confira Declarações de Enumeração C e Enumerações.