C ++ tüübimuutjad: lühikesed, pikad, allkirjastatud ja allkirjastamata

Selles õpetuses õpime näidete abil tüübimuutjaid ja nende kasutamist C ++ programmeerimisel.

C ++ programmeerimist tüüp modifikaatoreid kasutatakse muuta tähenduses põhilisi andmetüüpe.

C ++ keeles on neli tüüpi modifikaatorit.

  • short
  • long
  • signed
  • unsigned

Siin on lühike kokkuvõte:

Andmetüüp Suurus (baitides) Tähendus
signed int 4 kasutatakse täisarvude jaoks (vastab int)
unsigned int 4 saab salvestada ainult mittenegatiivseid täisarvusid
short 2 kasutatakse väikeste täisarvude jaoks (vahemik -32768 kuni 32767 )
long vähemalt 4 kasutatakse suurte täisarvude korral (vastab long int)
unsigned long 4 kasutatakse suurte positiivsete täisarvude või 0 (ekvivalent unsigned long int) korral
long long 8 kasutatakse väga suurte täisarvude (ekvivalent long long int) korral.
unsigned long long 8 kasutatakse väga suurte positiivsete täisarvude või 0 (ekvivalent unsigned long long int) korral
long double 8 kasutatakse suurte ujukomaarvude jaoks
signed char 1 kasutatakse märkide jaoks (garanteeritud vahemik -127 kuni 127 )
unsigned char 1 kasutatakse märkide jaoks (vahemik 0–255 )

lühikese tüübi muutja

Saame kasutada shortjaoks väike täisarvud (vahemikus −32,767kuni +32,767).

Näiteks,

 // small integer short a = 12345;

Siin on a shorttäisarvu muutuja.

Märkus: short on samaväärne short int.

pikk tüübimuutja

Kui peame salvestama suure täisarvu (vahemikus -2147483647 kuni 2147483647), võime kasutada tüübi täpsustajat long. Näiteks,

 // large integer long b = 123456;

Märkus: long on samaväärne long int.

Pika tüüpi modifikaatorit saab kasutada ka doublemuutujatega.

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

Märkus: näitamiseks long doublekasutame Ljärelliidet. Kui me ei kasuta järelliidet L, doubleteisendatakse see väärtus long double(mis võib põhjustada andmete kadu).

kaua pikk

longsaab long longtüübi loomiseks korrata kaks korda . Seda tüüpi kasutatakse isegi suuremate numbrite korral kui long. long longtüüpi modifikaatorit saab kasutada ainult koos int.

Näiteks,

 // long long int long long num = 12345678;

allkirjastatud ja allkirjastamata modifikaatorid

Allkirjastatud muutujad võivad sisaldada nii positiivseid kui ka negatiivseid täisarvusid, sealhulgas nulli . Näiteks,

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

Siin,

  • x omab positiivse väärtusega täisarvu
  • y omab negatiivse väärtusega täisarvu
  • z omab nullväärtusega täisarvu

Märge:

  • Vaikimisi on täisarvud signed. Seega signed intsaame selle asemel otse kasutada int.
  • signed ja allkirjata saab kasutada ainult int- ja char-tüüpidega.

Signeerimata muutujate mahub ainult mittenegatiivne täisarvväärtused. Näiteks,

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

Siin,

  • x omab positiivse väärtusega täisarvu
  • y hoiab nulli

Üldiselt võib intmuutuja salvestada väärtuste vahemikku -2 147 483 648 kuni 2 147 483 647 . Sealjuures on unsigned int varieeruvat mahutab väärtuste vahemikus 0 kuni 4294967295 .

allkirjastatud, allkirjastamata ja tavaline söe

C ++ on 3 erinevat char tüüpi: char, signed charja unsigned char. Praktikas on põhimõtteliselt ainult 2 tüüpi: signed charja unsigned char.

Seda seetõttu, et kuigi charei ole sama signed charvõi unsigned charstandard C ++, erinevad koostajad raviks charkas signed charvõi unsigned charvastavalt oma eelistustele.

Märkus. Kui kasutame ainult või charasemel , on see tüüp tavaline char .signed charunsigned char

Nagu arvata võis, signed charsaab salvestada nii positiivseid kui ka negatiivseid täisarvu, samas kui unsigned charainult positiivseid täisarvusid (sh 0 ).

Garanteeritud vahemikus täisarvväärtused signed charmahutab on -127 kuni 127 samas vahemikus 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;

Siin,

  • tavaline_1 omab positiivse väärtusega täisarvu
  • plain_2 omab nullväärtusega täisarvu
  • sin_1 omab positiivselt hinnatud täisarvu
  • sin_2 omab nullväärtusega täisarvu
  • sin_3 omab negatiivse väärtusega täisarvu
  • unsin_1 omab negatiivse väärtusega täisarvu
  • unsin_2 omab nullväärtusega täisarvu

Märkus. Numbriliste manipulatsioonide tegemiseks ei ole soovitatav kasutada tavalist sütt; Selle asemel tuleks kasutada signeeritud või allkirjastamata süsi. Tavalist märki tuleks kasutada ainult märkide väärtuste salvestamiseks.

Huvitavad Artiklid...