Zakresy typu danych
Dla 32-bitowych i 64-bitowych kompilatorów Microsoft Visual C++ rozpoznaje typy, pokazane w poniższej tabeli.Uwaga, że następujący typ również mieć niepodpisanych formularzy:
int (unsignedint)
__int8 (unsigned__int8)
__int16 (unsigned__int16)
__int32 (unsigned__int32)
__int64 (unsigned__int64)
short (unsignedshort)
long (unsignedlong)
longlong (unsignedlonglong)
Wpisz nazwę |
Bajtów |
Inne nazwy |
Zakres wartości |
---|---|---|---|
int |
4 |
podpisane |
–2 147 483 648 do 2 147 483 647 |
int niepodpisane |
4 |
niepodpisane |
0 do 4 294 967 295 |
__int8 |
1 |
CHAR |
–128 do 127 |
niepodpisane __int8 |
1 |
niepodpisane char |
od 0 do 255 |
__int16 |
2 |
krótkie, krótkie int, podpisane int krótkie |
–32, 768 do 32 767. |
niepodpisane __int16 |
2 |
unsigned int krótkie krótkie, niepodpisanych |
0 do 65 535. |
__int32 |
4 |
podpisane, int podpisane, int |
–2 147 483 648 do 2 147 483 647 |
niepodpisane __int32 |
4 |
int niepodpisane, niepodpisanych |
0 do 4 294 967 295 |
__int64 |
8 |
LONG long, long long podpisane |
–9, 223, 372, 036, 854, 775 808 do 9,223,372,036,854,775,807 |
unsigned __int64 |
8 |
unsigned long long |
0, 18,446,744,073,709,551,615 |
BOOL |
1 |
Brak |
FAŁSZ lub PRAWDA |
CHAR |
1 |
Brak |
–128 do 127 domyślnie od 0 do 255 gdy kompilowany z /J |
char podpisane |
1 |
Brak |
–128 do 127 |
niepodpisane char |
1 |
Brak |
od 0 do 255 |
krótkie |
2 |
int krótkie, podpisane int krótkie |
–32, 768 do 32 767. |
krótki niepodpisane |
2 |
unsigned int krótkie |
0 do 65 535. |
długie |
4 |
long int, long int podpisane |
–2 147 483 648 do 2 147 483 647 |
unsigned long |
4 |
unsigned long int |
0 do 4 294 967 295 |
LONG long |
8 |
Brak (ale odpowiednik __int64) |
–9, 223, 372, 036, 854, 775 808 do 9,223,372,036,854,775,807 |
unsigned long long |
8 |
Brak (ale równoważne do unsigned __int64) |
0, 18,446,744,073,709,551,615 |
Enum |
zmienia się |
Brak |
Zobacz uwagi. |
Pływak |
4 |
Brak |
3.4E +/-38 (7 cyfr) |
podwójne |
8 |
Brak |
3,7 +/-308 (15 Cyfr) |
podwójne długie |
równoznaczny z double |
Brak |
równoznaczny z double |
wchar_t |
2 |
__wchar_t |
0 do 65 535. |
Zmiennej __wchar_t wyznacza typ szerokich znaków lub wielobajtowych znaków.By default wchar_t is a typedef for unsignedshort.Użyj l prefiks przed znakiem lub stałą w celu wyznaczenia stała całego znaku typu string.Podczas kompilowania z /Zc:wchar_t lub /Za, można rozróżnić kompilator unsignedshort i wchar_t dla funkcji przeciążenie celów.
Signedi unsigned są modyfikatorów używane typu integralną, z wyjątkiem bool.char Typu zachowuje się jak signed char domyślnie, ale można określić /J (opcja kompilatora), aby zachowywać się jak unsigned char domyślnie.
int i unsignedint typy mają rozmiar word systemu: cztery bajty.Jednakże kod przenośny nie powinny zależeć rozmiar int.
Microsoft C/C++ również wsparcie dla typów całkowitych o rozmiarze.Zobacz __int8, __int16, __int32, __int64 Aby uzyskać więcej informacji.Zobacz też Limity Integer.
Zobacz Podstawowych typów więcej informacji na temat ograniczeń dotyczących rozmiarów każdego typu.
Zakres typy wyliczane różni się w zależności od kontekstu języka i określone flagi kompilatora.W c i C++ non-CLR wyliczeń, wyliczenie stałych i wartości typy wyliczane są wyrażone w kategoriach typu int.Wyliczenia C++ CLR mogą być wspierane przez określonego typu skalarne.Zakres wyliczenie jest zdefiniowana jako najmniejszą i największą wartość, które mogą być przechowywane w polach bit najmniejszą i największą z jego moduły wyliczające.Jednak kompilator C++ pozwoli dowolną wartość w zakresie typu oporowe wyliczania należy określić (może wymagać cast).Aby uzyskać więcej informacji, odnoszą się do C deklaracji wyliczenia i Deklaracje wyliczania C++.