Ebben az oktatóanyagban példák segítségével megismerhetjük a típusmódosítókat és azok használatát a C ++ programozásban.
A C ++ programozásnál a típusmódosítókkal megváltoztatják az alapvető adattípusok jelentését.
Vannak négy típusú módosító C ++.
short
long
signed
unsigned
Itt egy rövid összefoglaló:
Adattípus | Méret (bájtban) | Jelentése |
---|---|---|
signed int | 4 | egész számokra használt (egyenértékű int ) |
unsigned int | 4 | csak nem negatív egész számokat tárolhat |
short | 2 | használt kis egész számokhoz ( -32768 - 32767 tartomány ) |
long | legalább 4 | használt nagy egész számok (egyenértékű long int ) |
unsigned long | 4 | nagy pozitív egész számokhoz, vagy 0 (egyenértékű unsigned long int ) |
long long | 8. | nagyon nagy egész számoknál (egyenértékű long long int ). |
unsigned long long | 8. | nagyon nagy pozitív egész számokhoz vagy 0 (ekvivalens unsigned long long int ) |
long double | 8. | nagy lebegőpontos számokhoz használják |
signed char | 1 | karakterekhez használt (garantált tartomány -127 és 127 között ) |
unsigned char | 1 | karakterekhez használt ( 0 és 255 közötti tartomány ) |
rövid típusú módosító
Tudjuk használni short
az apró egész (a tartományban −32,767
a +32,767
).
Például,
// small integer short a = 12345;
Itt az a short
egész változó.
Megjegyzés: short
egyenértékű short int
.
hosszú Típusmódosító
Ha nagy egész számot kell tárolnunk (a -2147483647 és 2147483647 közötti tartományban), akkor használhatjuk a típusmeghatározót long
. Például,
// large integer long b = 123456;
Megjegyzés: long
egyenértékű long int
.
A hosszú típusú módosító double
változókkal is használható .
// large floating-point number long double c = 0.333333333333333333L;
Megjegyzés: Annak jelzésére long double
, akkor használja a L
utótagot. Ha nem használjuk az utótagot L
, akkor ez egy double
érték lesz, amely átalakul long double
(ami adatvesztést eredményezhet).
hosszú hosszú
long
kétszer megismételhető a long long
típus létrehozásához . Ezt a típust még nagyobb számoknál is használják, mint long
. long long
típusú módosító csak azzal használható int
.
Például,
// long long int long long num = 12345678;
aláírt és aláíratlan módosítók
Az aláírt változók tartalmazhatnak pozitív és negatív egész számokat, beleértve a nullát is . Például,
// positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;
Itt,
- x pozitív értékű egész számot tartalmaz
- y negatív értékű egész számot tartalmaz
- z nulla értékű egész számot tartalmaz
Jegyzet:
- Alapértelmezés szerint az egész számok
signed
. Ezért ahelyettsigned
int
, hogy közvetlenül használhatnánkint
. signed
és az aláíratlan csak int és char típusokkal használható.
Az aláíratlan változók csak nem negatív egész értékeket tárolhatnak. Például,
// positive valued integer unsigned int x = 2; unsigned int y = 0;
Itt,
- x pozitív értékű egész számot tartalmaz
- y nulla
Általában egy int
változó a -2 147 483 648 és 2 147 483 647 közötti tartományt tárolhatja . Míg egy unsigned in
t változó 0 és 4 294 967 295 közötti tartományt tárolhat .
aláírt, aláíratlan és egyszerű karakter
C ++ 3 különböző karakter típusok: char
, signed char
és unsigned char
. A gyakorlatban alapvetően csak 2 típus létezik: signed char
és unsigned char
.
Ez azért van, mert annak ellenére, hogy char
ez nem ugyanaz, mint signed char
vagy unsigned char
a szabványos C ++, a különböző fordítóprogramok kezelni char
, mint akár signed char
, vagy unsigned char
szerint a saját preferencia.
Megjegyzés: Ha csak char
a signed char
vagy a helyett használjuk unsigned char
, ezt a típust sima char néven ismerjük .
Mint sejtette, signed char
pozitív és negatív egész számokat unsigned char
is tárolhat , míg csak pozitív egészeket (beleértve 0-t is ).
A garantált tartománya egész értékeket signed char
lehet tárolni a -127 127 , míg a tartomány unsigned char
az, 0 és 255 .
// plain char char plain_1 = 65; char plain_2 = 0; // plain char with negative value // might cause problems with some compilers char plain_3 = -56; // signed char signed char sin_1 = 12; signed char sin_2 = 0; signed char sin_3 = -12; // unsigned char unsigned char unsin_1 = -85; unsigned char unsin_2 = 0;
Itt,
- a plain_1 pozitív értékű egész számot tartalmaz
- A plain_2 nulla értékű egész számot tartalmaz
- a sin_1 pozitív értékű egész számot tartalmaz
- A sin_2 nulla értékű egész számot tartalmaz
- A sin_3 negatív értékű egész számot tartalmaz
- az unsin_1 negatív értékű egész számot tartalmaz
- Az unsin_2 nulla értékű egész számot tartalmaz
Megjegyzés: Célszerű a sima karaktert nem használni numerikus manipulációk végrehajtásához; aláírt vagy aláíratlan karaktert kell használni helyette. A sima karaktert csak karakterértékek tárolására szabad használni.