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


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

32 (Sp2) и пакетом обновления 64 (sp2) для компиляторов, microsoft Visual C++ распознает типы, отображенные в таблице ниже.Обратите внимание, что следующий тип также имеет неподписанных формы:

  • int (unsignedint)

  • __int8 (unsigned__int8)

  • __int16 (unsigned__int16)

  • __int32 (unsigned__int32)

  • __int64 (unsigned__int64)

  • short (unsignedshort)

  • long (unsignedlong)

  • longlong (unsignedlonglong)

Имя типа

Байты

другие имена

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

Целочисленное значение.

4

Подписано

от 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

краткий, int, short signed short - int

от 32.768 до 32.767

unsigned __int16

2

unsigned short int, unsigned short

От 0 до 65535

__int32

4

подписанный, signed int, int

от 2.147.483.648 до 2.147.483.647

unsigned __int32

4

unsigned int, unsigned

От 0 до 4 294 967 295

__int64

8

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 - signed int, short int

от 32.768 до 32.767

unsigned short

2

unsigned short - int

От 0 до 65535

long

4

int, long 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 до 65535

переменная __wchar_t обозначает тип расширенных символов или многобайтового символов.по умолчанию wchar_t a typedef для unsignedshort.используйте л префикс перед символом или константой строки, чтобы обозначить константу широк-знак-типа.При компилировании с /Zc: wchar_t OR /Zaкомпилятор может отличить unsignedshort и wchar_t в целях перегруженных функций.

Signed и unsigned модификаторы которых может использоваться с любым объединенным типом, отличным от bool.char тип ведет себя следующим образом signed char по умолчанию, но можно указать /J (параметр компилятора) сделать, чтобы вести себя следующим образом unsigned char по умолчанию.

int и unsignedint типы имеют размер машинного слова системы: 4 байта.Однако переносимый Код зависит от размера int.

Поддержка функций microsoft C/C++ также для указанных размеров типов целого числа.См. __int8, __int16, __int32, __int64 для получения дополнительных сведений.См. также Ограничения integer.

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

Диапазон перечисленных типов различается в зависимости от контекста языка и указанных флагов компилятора.Перечисления не являющийся производным столбцом среды CLR в c# и C++, константы, перечисления и значений, перечисленных типов выражаются в терминах типов int.Перечисления C++ среды CLR могут быть подперты указанным скалярным типом.Диапазон перечисления определен как самые маленькие и наибольшие значения, которые могут храниться в бит-полях наименьшего и само тем больше ее перечислителей.Однако компилятор C++ допускает любое значение в диапазоне, допустимом для типа перечисления, которое необходимо задать резервный (это может потребоваться для приведения).Дополнительные сведения см. в разделе Объявления перечисления C# и Объявления перечисления C++.

См. также

Ссылки

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

Принцип типа (C++)