C ++ tipo modifikatoriai: trumpi, ilgi, pasirašyti ir nepasirašyti

Šioje pamokoje pavyzdžių pagalba sužinosime apie tipo modifikatorius ir kaip juos naudoti programuojant C ++.

Programuojant C ++, tipo modifikatoriai naudojami pagrindinių duomenų tipų reikšmei pakeisti.

C ++ yra keturi tipo modifikatoriai.

  • short
  • long
  • signed
  • unsigned

Štai trumpa santrauka:

Duomenų tipas Dydis (baitais) Reikšmė
signed int 4 naudojamas sveikiesiems skaičiams (atitinka int)
unsigned int 4 gali saugoti tik ne neigiamus sveikuosius skaičius
short 2 naudojamas mažiems sveikiesiems skaičiams (diapazonas nuo -32768 iki 32767 )
long mažiausiai 4 naudojamas dideliems sveikiesiems skaičiams (atitinka long int)
unsigned long 4 naudojamas dideliems teigiamiems sveikiesiems skaičiams arba 0 (atitinka unsigned long int)
long long 8 naudojamas labai dideliems sveikiesiems skaičiams (atitinka long long int).
unsigned long long 8 naudojamas labai dideliems teigiamiems sveikiesiems skaičiams arba 0 (atitinka unsigned long long int)
long double 8 naudojamas dideliems slankiojo kablelio skaičiams
signed char 1 naudojamas simboliams (garantuojamas diapazonas nuo -127 iki 127 )
unsigned char 1 naudojamas simboliams (nuo 0 iki 255 )

trumpo tipo modifikatorius

Mes galime naudoti shortdėl mažų skaičių (intervalas −32,767su +32,767).

Pavyzdžiui,

 // small integer short a = 12345;

Čia a yra shortsveikasis skaičius.

Pastaba: short atitinka short int.

ilgas tipo modifikatorius

Jei turime saugoti didelį sveiką skaičių (diapazone nuo -2147483647 iki 2147483647), galime naudoti tipo specifikatorių long. Pavyzdžiui,

 // large integer long b = 123456;

Pastaba: long atitinka long int.

Ilgojo tipo modifikatorius taip pat galima naudoti su doublekintamaisiais.

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

Pastaba: Norėdami nurodyti long double, mes naudojame Lpriesagą. Jei nenaudojame priesagos L, tai doublereikšmė, kuri konvertuojama long double(dėl to gali prarasti duomenis).

ilgai ilgai

longgali būti pakartotas du kartus, kad būtų sukurtas long longtipas. Šis tipas naudojamas dar didesniems skaičiams nei long. long longtipo modifikatorių galima naudoti tik su int.

Pavyzdžiui,

 // long long int long long num = 12345678;

pasirašyti ir nepasirašyti modifikatoriai

Pasirašyti kintamieji gali turėti tiek teigiamą, tiek neigiamą sveiką skaičių, įskaitant nulį . Pavyzdžiui,

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

Čia

  • x turi teigiamą vertinamąjį skaičių
  • y turi neigiamą reikšmę turintį sveikąjį skaičių
  • z turi nulinės vertės sveikąjį skaičių

Pastaba:

  • Pagal numatytuosius nustatymus sveiki skaičiai yra signed. Taigi vietoj to signed intmes galime tiesiogiai naudoti int.
  • signed ir nepasirašytus galima naudoti tik su int ir char tipais.

Kad unsigned kintamieji gali turėti tik ne neigiamas sveikasis skaičius vertes. Pavyzdžiui,

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

Čia

  • x turi teigiamą vertinamąjį skaičių
  • y turi nulį

Apskritai intkintamasis gali išsaugoti reikšmių diapazoną nuo -2 147 483 648 iki 2 147 483 647 . Tuo tarpu unsigned int kintamasis gali išsaugoti reikšmių diapazoną nuo 0 iki 4 294 967 295 .

pasirašyta, nepasirašyta ir paprasta char

C ++ turi 3 skirtingas char tipai: char, signed charir unsigned char. Praktiškai iš esmės yra tik 2 tipai: signed charir unsigned char.

Taip yra todėl, nors charyra ne tas pats, kaip signed charir unsigned charstandartinėje C ++ skirtingų kompiliatoriai gydyti charkaip nors signed charar unsigned charpagal savo pageidavimus.

Pastaba: kai mes naudojame tik charvietoj signed chararba unsigned char, šis tipas yra žinomas kaip paprastoji char .

Kaip jau spėjote, signed chargalite saugoti tiek teigiamus, tiek neigiamus sveikus skaičius, o unsigned chartik teigiamus sveikus skaičius (įskaitant 0 ).

Garantuojama diapazonas sveikas skaičius, lygus vertės signed chargali laikyti yra -127 iki 127 , o diapazonas unsigned charyra nuo 0 iki 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;

Čia

  • paprastas_1 turi teigiamą vertinamąjį sveikąjį skaičių
  • paprastas_2 turi nulinės vertės sveikąjį skaičių
  • sin_1 turi teigiamą vertinamąjį sveikąjį skaičių
  • sin_2 turi nulinės vertės sveikąjį skaičių
  • sin_3 turi neigiamą vertinamąjį skaičių
  • unsin_1 turi neigiamą reikšmę turintį sveikąjį skaičių
  • unsin_2 turi nulį vertinamą sveikąjį skaičių

Pastaba: skaitinėms manipuliacijoms geriau nenaudoti paprastos char; Vietoj to turėtų būti naudojama pasirašyta char arba nepasirašyta char. Paprastoji simbolis turėtų būti naudojamas tik simbolių reikšmėms saugoti.

Įdomios straipsniai...