Zakresy typu danych
Kompilatory 32-bitowe i 64-bitowe Visual C++ rozpoznają typy w tabeli przedstawionej w dalszej części artykułu.
int (unsignedint)
__int8 (unsigned__int8)
__int16 (unsigned__int16)
__int32 (unsigned__int32)
__int64 (unsigned__int64)
short (unsignedshort)
long (unsignedlong)
longlong (unsignedlonglong)
Jeśli nazwa zaczyna się od dwóch podkreśleń (__), typ danych jest niestandardowy.
Zakresy określone w poniższej tabeli są włączne-włączne.
Nazwa typu |
Bajty |
Inne nazwy |
Zakres wartości |
---|---|---|---|
int |
4 |
oznaczony |
–2,147,483,648 to 2,147,483,647 |
niepodpisany int |
4 |
nieoznaczony |
0 do 4,294,967,295 |
__int8 |
1 |
char |
–128 to 127 |
nieoznaczonyu__int8 |
1 |
niepodpisany char |
0 do 255 |
__int16 |
2 |
krótka, krótka wartość całkowita, krótka wartość całkowita ze znakiem |
–32,768 to 32,767 |
nieoznaczony __int64 |
2 |
Nieoznaczona krótka, nieoznaczona krótka liczba całkowita |
0 do 65,535 |
__int32 |
4 |
ze znakiem, wartość całkowita ze znakiem, wartość całkowita |
–2,147,483,648 to 2,147,483,647 |
nieoznaczony__int64 |
4 |
nieoznaczona, nieoznaczona liczba całkowita |
0 do 4,294,967,295 |
__int64 |
8 |
Typy long long, signed long long |
–9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
unsigned __int64 |
8 |
nieoznaczony długi długi |
0 do 18,446,744,073,709,551,615 |
bool |
1 |
brak |
fałsz lub true |
char |
1 |
brak |
–128 do 127 domyślnie od 0 do 255 gdy kompilowany przy użyciu j |
podpisany char |
1 |
brak |
–128 to 127 |
niepodpisany char |
1 |
brak |
0 do 255 |
short |
2 |
krótka wartość całkowita, krótka wartość całkowita ze znakiem |
–32,768 to 32,767 |
niepodpisany short |
2 |
nieoznaczony krótki int |
0 do 65,535 |
long |
4 |
Typy long int, signed long int |
–2,147,483,648 to 2,147,483,647 |
niepodpisany long |
4 |
nieoznaczony długi int |
0 do 4,294,967,295 |
Typ long long |
8 |
Brak (ale równoważne __int64) |
–9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
nieoznaczony długi długi |
8 |
Brak (ale równoważne nieoznaczonemu __int64) |
0 do 18,446,744,073,709,551,615 |
wyliczenia |
różni się |
brak |
Zobacz Uwagi w dalszej części tego artykułu. |
typ float |
4 |
brak |
3.4E /-38 (7 cyfr) |
double |
8 |
brak |
1,7E /-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 |
W zależności od sposobu ich wykorzystania, zmienna __wchar_t wyznacza albo szerokie znaki typu lub typów znaków wielobajtowych.Użyj przedrostka L przed znakiem lub stałą ciągu, aby oznaczyć stałą typu znaku dwubajtowego.
signed i unsigned są modyfikatorami, które można używać z dowolnym typami całkowitymi, za wyjątkiem bool.Należy zauważyć, że char, signed char oraz unsigned char są trzema różnymi typami do celów mechanizmów takich jak przeciążenia i szablony.
Typy int i unsignedint mają rozmiar czterech bajtów.Jednak kod przenośny nie powinien być zależny od rozmiaru int, ponieważ standard językowy pozwala, żeby było to specyficzne dla implementacji.
C/C++ w Visual Studio obsługuje również typy wielkości liczb całkowitych.Aby uzyskać więcej informacji, zobacz __int8, __int16, __int32, __int64 i Limity liczb całkowitych.
Aby uzyskać więcej informacji dotyczących ograniczeń rozmiarów każdego typu, zobacz Typy podstawowe (C++).
Zakres wymienionych typów różni się w zależności od kontekstu językowego i określonych flag kompilatora.Aby uzyskać więcej informacji, zobacz Deklaracje modułów wyliczających języka C i Deklaracje modułów wyliczających języka C++.