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


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

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 intsigned short int От −32 768 до 32 767
unsigned __int16 2 unsigned short, unsigned short int От 0 до 65 535
__int32 4 signed, , signed intint От −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 (семь цифр)
double 8 ничего 1.7E +/- 308 (пятнадцать цифр)
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++.

См. также

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