Udostępnij za pośrednictwem


Zakresy typu danych

Kompilatory 32-bitowe i 64-bitowe języka Microsoft C++ rozpoznają typy w tabeli w dalszej części tego artykułu.

- 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)

Jeśli nazwa zaczyna się od dwóch podkreśleń (__), typ danych jest niezgodny.

Zakresy określone w poniższej tabeli są inkluzywne.

Nazwa typu Bajty Inne nazwy Zakres wartości
int 100 signed -2,147,483,648 do 2,147,483,647
unsigned int 100 unsigned od 0 do 4294 967 295
__int8 1 char -128 do 127
unsigned __int8 1 unsigned char Od 0 do 255
__int16 2 short, , short intsigned short int -32,768 do 32,767
unsigned __int16 2 unsigned short, unsigned short int Od 0 do 65 535
__int32 100 signed, , signed intint -2,147,483,648 do 2,147,483,647
unsigned __int32 100 unsigned, unsigned int od 0 do 4294 967 295
__int64 8 long long, signed long long -9,223,372,036,854,775,808 do 9,223,372,036,854,775,807
unsigned __int64 8 unsigned long long od 0 do 18,446,744,073,709,551,615
bool 1 Brak false lub true
char 1 Brak Domyślnie od -128 do 127

Od 0 do 255 podczas kompilowania przy użyciu polecenia /J
signed char 1 Brak -128 do 127
unsigned char 1 Brak Od 0 do 255
short 2 short int, signed short int -32,768 do 32,767
unsigned short 2 unsigned short int Od 0 do 65 535
long 100 long int, signed long int -2,147,483,648 do 2,147,483,647
unsigned long 100 unsigned long int od 0 do 4294 967 295
long long 8 none (ale równoważne )__int64 -9,223,372,036,854,775,808 do 9,223,372,036,854,775,807
unsigned long long 8 none (ale równoważne )unsigned __int64 od 0 do 18,446,744,073,709,551,615
enum Różni się Brak
float 100 Brak 3.4E +/- 38 (siedem cyfr)
double 8 Brak 1.7E +/- 308 (piętnaście cyfr)
long double tak samo jak double Brak Tak samo jak double
wchar_t 2 __wchar_t Od 0 do 65 535

Zmienna wyznacza typ znaku wielobajtowego __wchar_t lub wielobajtowego. Użyj prefiksu L przed stałą znaku lub ciągu, aby wyznaczyć stałą typu szeroki znak.

signed i unsigned są modyfikatorami, których można używać z dowolnym typem całkowitym z wyjątkiem bool. Należy pamiętać, że char, signed chari unsigned char są trzema odrębnymi typami dla celów mechanizmów, takich jak przeciążenie i szablony.

Typy int i unsigned int mają rozmiar 4 bajty. Jednak kod przenośny nie powinien zależeć od rozmiaru int , ponieważ standard języka pozwala na to, aby był specyficzny dla implementacji.

Język C/C++ w programie Visual Studio obsługuje również typy liczb całkowitych o rozmiarze. Aby uzyskać więcej informacji, zobacz __int8, __int16, __int32, __int64 i Limity liczb całkowitych.

Aby uzyskać więcej informacji na temat ograniczeń rozmiarów każdego typu, zobacz Wbudowane typy.

Zakres wyliczonych typów różni się w zależności od kontekstu języka i określonych flag kompilatora. Aby uzyskać więcej informacji, zobacz C Enumeration Deklaracje i wyliczenia.

Zobacz też

Słowa kluczowe
Typy wbudowane