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.

Confira também

Palavras-chave
Tipos internos