C ++ -tyyppimuuttujat: lyhyet, pitkät, allekirjoitetut ja allekirjoittamattomat

Tässä opetusohjelmassa opitaan esimerkkien avulla tyypin muokkaajista ja niiden käytöstä C ++ - ohjelmoinnissa.

C ++ - ohjelmoinnissa tyypin muokkaajia käytetään muuttamaan perustietotyyppien merkitystä.

C ++: ssa on neljä tyyppimuutosta.

  • short
  • long
  • signed
  • unsigned

Tässä on lyhyt yhteenveto:

Tietotyyppi Koko (tavuina) Tarkoitus
signed int 4 käytetään kokonaislukuihin (vastaa int)
unsigned int 4 voi tallentaa vain ei-negatiivisia kokonaislukuja
short 2 käytetään pienille kokonaisluvuille (alue -32768 - 32767 )
long vähintään 4 käytetään suurille kokonaisluvuille (vastaa long int)
unsigned long 4 käytetään suurille positiivisille kokonaisluvuille tai 0 (vastaa unsigned long int)
long long 8 käytetään erittäin suurille kokonaislukuille (vastaa long long int).
unsigned long long 8 käytetään erittäin suurille positiivisille kokonaisluvuille tai 0 (vastaa unsigned long long int)
long double 8 käytetään suuriin liukulukuihin
signed char 1 käytetään merkkeihin (taattu alue -127 - 127 )
unsigned char 1 käytetään merkkeihin (alue 0-255 )

lyhyt tyypin muokkaaja

Voimme käyttää shortvarten pieniä kokonaislukuja (välillä −32,767ja +32,767).

Esimerkiksi,

 // small integer short a = 12345;

Tässä a on shortkokonaislukumuuttuja.

Huomaa: short vastaa short int.

pitkä tyypin muuttaja

Jos meidän on tallennettava suuri kokonaisluku (välillä -2147483647 - 2147483647), voimme käyttää tyyppimääritintä long. Esimerkiksi,

 // large integer long b = 123456;

Huomaa: long vastaa long int.

Pitkätyyppistä modifikaattoria voidaan käyttää myös doublemuuttujien kanssa.

 // large floating-point number long double c = 0.333333333333333333L;

Huomautus: Jos haluat osoittaa long double, käytämme Lpääte. Jos emme käytä loppuliitettä L, se doublemuunnetaan arvoksi long double(mikä voi johtaa tietojen menetykseen).

pitkä kauan

longvoidaan toistaa kahdesti long longtyypin luomiseksi . Tätä tyyppiä käytetään jopa suurempiin numeroihin kuin long. long longtyypin muuttajaa voidaan käyttää vain int.

Esimerkiksi,

 // long long int long long num = 12345678;

allekirjoitetut ja allekirjoittamattomat muokkaajat

Allekirjoitettuihin muuttujiin voi sisältyä sekä positiivisia että negatiivisia kokonaislukuja nolla mukaan lukien . Esimerkiksi,

 // positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;

Tässä,

  • x: llä on positiivinen kokonaisluku
  • y: llä on negatiivinen kokonaisluku
  • z: llä on nolla-arvoinen kokonaisluku

Huomautus:

  • Oletuksena kokonaisluvut ovat signed. Siksi signed intvoimme sen sijaan käyttää suoraan int.
  • signed ja allekirjoittamatonta voidaan käyttää vain int- ja char-tyyppien kanssa.

Unsigned muuttujat voidaan pitää vain ei-negatiivisia kokonaislukuarvoja. Esimerkiksi,

 // positive valued integer unsigned int x = 2; unsigned int y = 0;

Tässä,

  • x: llä on positiivinen kokonaisluku
  • y on nolla

Yleensä intmuuttuja voi tallentaa arvon vaihteluväliltä -2,147,483,648 - 2,147,483,647 . Ottaa huomioon, unsigned int muuttuja voi tallentaa erilaisia arvoja 0 4294967295 .

allekirjoitettu, allekirjoittamaton ja tavallinen merkki

C ++ on 3 eri merkkiä tyyppiä: char, signed charja unsigned char. Käytännössä on periaatteessa vain 2 tyyppiä: signed charja unsigned char.

Tämä johtuu siitä, että vaikka eri kääntäjät chareivät olekaan samanlaisia ​​kuin tavallisessa C ++: ssa signed chartai unsigned chartavallisessa C ++: ssa, ne käsittelevät charjoko kumpaakin signed chartai unsigned charomien mieltymystensä mukaan.

Huomautus: Kun käytämme vain charsijasta signed chartai unsigned chartällainen kutsutaan tavallinen nieriä .

Kuten olet ehkä arvannut, signed charvoi tallentaa sekä positiivisia että negatiivisia kokonaislukuja, kun taas unsigned charvain positiivisia kokonaislukuja (mukaan lukien 0 ).

Taattu alue kokonaisluku arvot signed charvoidaan tallentaa on -127-127 , kun alue unsigned charon 0-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;

Tässä,

  • tavallinen_1 pitää sisällään positiivisen arvon
  • tavallinen_2 pitää nollan arvoista kokonaislukua
  • sin_1: llä on positiivinen kokonaisluku
  • sin_2: llä on nolla-arvoinen kokonaisluku
  • sin_3 pitää sisällään negatiivisen arvon
  • unsin_1: lla on negatiivinen kokonaisluku
  • unsin_2: lla on nolla-arvoinen kokonaisluku

Huomaa: On suositeltavaa olla käyttämättä pelkkää merkkiä numeeristen manipulaatioiden suorittamiseen; sen sijaan tulisi käyttää allekirjoitettua merkkiä tai allekirjoittamatonta merkkiä. Pelkkää merkkiä tulisi käyttää vain merkkiarvojen tallentamiseen.

Mielenkiintoisia artikkeleita...