Диапазоны типов данных
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++.
См. также
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по