C ++ típusú módosítók: rövid, hosszú, aláírt és aláíratlan

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 shortaz apró egész (a tartományban −32,767a +32,767).

Például,

 // small integer short a = 12345;

Itt az a shortegé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ó doublevá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 Lutó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ú

longkétszer megismételhető a long longtípus létrehozásához . Ezt a típust még nagyobb számoknál is használják, mint long. long longtí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 ahelyett signed int, hogy közvetlenül használhatnánk int.
  • 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 intváltozó a -2 147 483 648 és 2 147 483 647 közötti tartományt tárolhatja . Míg egy unsigned int 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 charez nem ugyanaz, mint signed charvagy unsigned chara szabványos C ++, a különböző fordítóprogramok kezelni char, mint akár signed char, vagy unsigned charszerint a saját preferencia.

Megjegyzés: Ha csak chara signed charvagy a helyett használjuk unsigned char, ezt a típust sima char néven ismerjük .

Mint sejtette, signed charpozitív és negatív egész számokat unsigned charis tárolhat , míg csak pozitív egészeket (beleértve 0-t is ).

A garantált tartománya egész értékeket signed charlehet tárolni a -127 127 , míg a tartomány unsigned charaz, 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.

érdekes cikkek...