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.
shortlongsignedunsigned
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. Seegasignedintsaame selle asemel otse kasutadaint. signedja 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.








