__int8, __int16, __int32, __int64
Específicos de Microsoft
Las características de Microsoft C/C++ admiten tipos enteros con tamaño. Se pueden declarar variables de entero de 8, 16, 32 o 64 bits mediante el especificador de tipo __intn, donde n es 8, 16, 32 o 64.
En el ejemplo siguiente se declara una variable para cada uno de estos tipos de enteros con tamaño:
__int8 nSmall; // Declares 8-bit integer
__int16 nMedium; // Declares 16-bit integer
__int32 nLarge; // Declares 32-bit integer
__int64 nHuge; // Declares 64-bit integer
Los tipos __int8, __int16 e __int32 son sinónimos de los tipos ANSI que tienen el mismo tamaño, y son útiles para escribir código portable que se comporta de forma idéntica en varias plataformas. El tipo de datos __int8 es sinónimo del tipo char, __int16 es sinónimo del tipo short e __int32 es sinónimo del tipo int. El tipo __int64 no tiene ningún equivalente ANSI.
Ejemplo
En el ejemplo siguiente se muestra que un parámetro __intxx se promoverá a int:
// sized_int_types.cpp
#include <stdio.h>
void func(int i) {
printf_s("%s\n", __FUNCTION__);
}
int main()
{
__int8 i8 = 100;
func(i8); // no void func(__int8 i8) function
// __int8 will be promoted to int
}