Intervalos de tipos de datos
Los compiladores de 32 bits y 64 bits de Visual C++ reconocen los tipos de la tabla que se incluye más adelante en este artículo.
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 su nombre comienza con dos caracteres de subrayado (__), un tipo de datos no es estándar.
Los intervalos que se especifican en la tabla siguiente son inclusivo-inclusivo.
Nombre de tipo |
Bytes |
Otros nombres |
Intervalo de valores |
---|---|---|---|
int |
4 |
signed |
De –2.147.483.648 a 2.147.483.647 |
unsigned int |
4 |
unsigned |
De 0 a 4.294.967.295 |
__int8 |
1 |
char |
De –128 a 127 |
unsigned __int8 |
1 |
unsigned char |
De 0 a 255 |
__int16 |
2 |
short, short int, signed short int |
De –32.768 a 32.767 |
unsigned __int16 |
2 |
unsigned short, unsigned short int |
De 0 a 65.535 |
__int32 |
4 |
signed, signed int, int |
De –2.147.483.648 a 2.147.483.647 |
unsigned __int32 |
4 |
unsigned, unsigned int |
De 0 a 4.294.967.295 |
__int64 |
8 |
long long, signed long long |
De –9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 |
unsigned __int64 |
8 |
unsigned long long |
De 0 a 18.446.744.073.709.551.615 |
bool |
1 |
ninguno |
false o true |
char |
1 |
ninguno |
De –128 a 127 de manera predeterminada De 0 a 255 cuando se compila mediante /J |
signed char |
1 |
ninguno |
De –128 a 127 |
unsigned char |
1 |
ninguno |
De 0 a 255 |
short |
2 |
short int, signed short int |
De –32.768 a 32.767 |
unsigned short |
2 |
unsigned short int |
De 0 a 65.535 |
long |
4 |
long int, signed long int |
De –2.147.483.648 a 2.147.483.647 |
unsigned long |
4 |
unsigned long int |
De 0 a 4.294.967.295 |
long long |
8 |
ninguno (pero equivalente a __int64) |
De –9.223.372.036.854.775.808 a 9.223.372.036.854.775.807 |
unsigned long long |
8 |
ninguno (pero equivalente a unsigned __int64) |
De 0 a 18.446.744.073.709.551.615 |
enum |
varía |
ninguno |
Vea Comentarios más adelante en este artículo |
float |
4 |
ninguno |
3,4E +/- 38 (7 dígitos) |
double |
8 |
ninguno |
1,7E +/- 308 (15 dígitos) |
long double |
igual que double |
ninguno |
Igual que double |
wchar_t |
2 |
__wchar_t |
De 0 a 65.535 |
Dependiendo de cómo se use, una variable __wchar_t designa un tipo de caracteres anchos o multibyte. Utilice el prefijo L delante de un carácter o constante de cadena para designar la constante de tipo de carácter ancho.
signed y unsigned son modificadores que se puede utilizar con cualquier tipo entero excepto bool. Observe que char, signed char y unsigned char son tres tipos distintos para mecanismos como sobrecargas y plantillas.
Los tipos int y unsigned int tienen un tamaño de cuatro bytes. Sin embargo, el código portable no debe depender del tamaño de int, porque el estándar del lenguaje permite que sea específico de la implementación.
C/C++ en Visual Studio también admite tipos enteros con tamaño. Para obtener más información, vea __int8, __int16, __int32, __int64 y Límites de enteros.
Para obtener más información sobre las restricciones de tamaño de cada tipo, vea Tipos fundamentales (C++).
El intervalo de tipos enumerados varía dependiendo del contexto del lenguaje y de las marcas del compilador especificadas. Para obtener más información, vea Declaraciones de enumeración de C y Declaraciones de enumeración de C++.