Поделиться через


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

Компиляторы Visual C++ (32-разрядные и 64-разрядные) поддерживают типы, указанные в приведенной ниже таблице.

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

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

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

Имя типа

Байты

Другие имена

Диапазон значений

целое число

4

signed

От -2 147 483 648 до 2 147 483 647

unsigned int

4

без знака

От 0 до 4 294 967 295

__int8

1

char

От -128 до 127

unsigned __int8

1

unsigned char

От 0 до 255

__int16

2

короткое, короткое целочисленное, короткое целочисленное со знаком

От -32 768 до 32 767

unsigned __int16

2

короткое без знака, короткое целочисленное без знака

От 0 до 65 535

__int32

4

со знаком, целочисленное со знаком, целочисленное

От -2 147 483 648 до 2 147 483 647

unsigned __int32

4

без знака, целочисленное без знака

От 0 до 4 294 967 295

__int64

8

длинное длинное, со знаком длинное длинное

От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

unsigned __int64

8

без знака длинное длинное

От 0 до 18,446,744,073,709,551,615

bool

1

Нет

false или true

char

1

Нет

По умолчанию — от -128 до 127

При компиляции с помощью /J — от 0 до 255

signed char

1

Нет

От -128 до 127

unsigned char

1

Нет

От 0 до 255

short

2

короткое целочисленное, короткое целочисленное со знаком

От -32 768 до 32 767

unsigned short

2

короткое целочисленное число без знака

От 0 до 65 535

long

4

длинное целочисленное, длинное целочисленное со знаком

От -2 147 483 648 до 2 147 483 647

unsigned long

4

длинное целочисленное число без знака

От 0 до 4 294 967 295

длинное длинное

8

Нет (но эквивалентно __int64)

От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807

без знака длинное длинное

8

Нет (но эквивалентно unsigned__int64)

От 0 до 18,446,744,073,709,551,615

enum

Возможны разные варианты

Нет

См. раздел Заметки ниже в данной статье

float

4

Нет

3,4E +/- 38 (7 знаков)

double

8

Нет

1,7E +/- 308 (15 знаков)

длинное двойное

То же, что и для двойного

Нет

То же, что и для двойного

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 и Объявления перечислений C++.

См. также

Ссылки

Ключевые слова в C++

Фундаментальные типы (C++)