__int8, __int16, __int32, __int64
Específico da Microsoft
O Microsoft C/C++ tem suporte para tipos de inteiros dimensionados. Você pode declarar variáveis de inteiro de 8, 16, 32 ou 64 bits usando o tipo de especificador __intn, em que n é 8, 16, 32 ou 64.
O exemplo a seguir declara uma variável para cada um desses tipos de inteiros dimensionados:
__int8 nSmall; // Declares 8-bit integer
__int16 nMedium; // Declares 16-bit integer
__int32 nLarge; // Declares 32-bit integer
__int64 nHuge; // Declares 64-bit integer
Os tipos __int8, __int16 e __int32 são sinônimos dos tipos ANSI que têm o mesmo tamanho e são úteis para escrever o código portátil que se comporta de forma idêntica em várias plataformas. O tipo de dados __int8 é sinônimo do tipo char, __int16 é sinônimo do tipo short e __int32 é sinônimo do tipo int. O tipo __int64 não tem equivalente ANSI.
Exemplo
O exemplo a seguir mostra que um parâmetro __intxx será promovido para 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
}