Диапазоны типов данных
Компиляторы 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++.