Диапазоны типов данных

32-разрядные и 64-разрядные компиляторы Microsoft C++ распознают типы в таблице далее в этой статье.

  • 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)

Если имя начинается с двух символов подчеркивания (__), тип данных является нестандартным.

Диапазоны, представленные в следующей таблице, включают указанные значения.

Тип Имя Байт Другие имена Диапазон значений
int 4 signed От −2 147 483 648 до 2 147 483 647
unsigned int 4 unsigned От 0 до 4 294 967 295
__int8 1 char От -128 до 127
unsigned __int8 1 unsigned char От 0 до 255
__int16 2 short, short int, signed short int От −32 768 до 32 767
unsigned __int16 2 unsigned short, unsigned short int От 0 до 65 535
__int32 4 signed, signed int, int От −2 147 483 648 до 2 147 483 647
unsigned __int32 4 unsigned, unsigned int От 0 до 4 294 967 295
__int64 8 long long, signed long long От −9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
unsigned __int64 8 unsigned long long От 0 до 18 446 744 073 709 551 615
bool 1 нет false или true
char 1 нет -128–127 по умолчанию

От 0 до 255 при компиляции с помощью /J
signed char 1 нет От -128 до 127
unsigned char 1 нет От 0 до 255
short 2 short int, signed short int От −32 768 до 32 767
unsigned short 2 unsigned short int От 0 до 65 535
long 4 long int, signed long int От −2 147 483 648 до 2 147 483 647
unsigned long 4 unsigned long int От 0 до 4 294 967 295
long long 8 нет (но эквивалентно __int64) От −9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
unsigned long long 8 нет (но эквивалентно unsigned __int64) От 0 до 18 446 744 073 709 551 615
enum Различается нет
float 4 нет 3,4E +/- 38 (7 знаков)
double 8 нет 1,7E +/- 308 (15 знаков)
long double то же самое, что и double нет То же, что double
wchar_t 2 __wchar_t От 0 до 65 535

В зависимости от характера использования переменная типа __wchar_t обозначает расширенный символьный или многобайтовый символьный тип. Чтобы указать константу расширенного символьного типа, перед символьной или строковой константой следует использовать префикс L .

signed и unsigned — это модификаторы, которые можно использовать с любым целочисленным типом, кроме типа bool. Обратите внимание, что char, signed char и unsigned char — это три разных типа, предназначенных для механизмов, подобных перегрузке и шаблонам.

Размер типов int и unsigned int — 4 байта. Однако переносимый код не должен зависеть от размера int , поскольку языковой стандарт позволяет варьировать его в зависимости от реализации.

C и C++ в Visual Studio также поддерживают целочисленные типы с указанием размера. Дополнительные сведения см. в разделе __int8, __int16, __int32, __int64 и ограничения целых чисел.

Дополнительные сведения об ограничениях размеров каждого типа см. в разделе "Встроенные типы".

Диапазон перечисляемых типов зависит от контекста языка и указанных флажков компилятора. Дополнительные сведения см. в статьях Объявления перечислений C и Объявления перечислений C++.

См. также

Ключевые слова
Встроенные типы