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 short
jaoks väike täisarvud (vahemikus −32,767
kuni +32,767
).
Näiteks,
// small integer short a = 12345;
Siin on a short
tä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 double
muutujatega.
// large floating-point number long double c = 0.333333333333333333L;
Märkus: näitamiseks long double
kasutame L
järelliidet. Kui me ei kasuta järelliidet L
, double
teisendatakse see väärtus long double
(mis võib põhjustada andmete kadu).
kaua pikk
long
saab long long
tüübi loomiseks korrata kaks korda . Seda tüüpi kasutatakse isegi suuremate numbrite korral kui long
. long long
tüü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
. Seegasigned
int
saame selle asemel otse kasutadaint
. 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 int
muutuja salvestada väärtuste vahemikku -2 147 483 648 kuni 2 147 483 647 . Sealjuures on unsigned in
t varieeruvat mahutab väärtuste vahemikus 0 kuni 4294967295 .
allkirjastatud, allkirjastamata ja tavaline söe
C ++ on 3 erinevat char tüüpi: char
, signed char
ja unsigned char
. Praktikas on põhimõtteliselt ainult 2 tüüpi: signed char
ja unsigned char
.
Seda seetõttu, et kuigi char
ei ole sama signed char
või unsigned char
standard C ++, erinevad koostajad raviks char
kas signed char
või unsigned char
vastavalt oma eelistustele.
Märkus. Kui kasutame ainult või char
asemel , on see tüüp tavaline char .signed char
unsigned char
Nagu arvata võis, signed char
saab salvestada nii positiivseid kui ka negatiivseid täisarvu, samas kui unsigned char
ainult positiivseid täisarvusid (sh 0 ).
Garanteeritud vahemikus täisarvväärtused signed char
mahutab on -127 kuni 127 samas vahemikus unsigned char
on 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.