În acest tutorial, vom învăța despre modificatorii de tip și cum să le utilizați în programarea C ++ cu ajutorul exemplelor.
În programarea C ++, modificatorii de tip sunt folosiți pentru a schimba semnificația tipurilor de date fundamentale.
Există patru modificatori de tip în C ++.
shortlongsignedunsigned
Iată un scurt rezumat:
| Tipul de date | Dimensiune (în octeți) | Sens |
|---|---|---|
signed int | 4 | folosit pentru numere întregi (echivalent cu int) |
unsigned int | 4 | poate stoca numai numere întregi care nu sunt negative |
short | 2 | utilizat pentru numere întregi mici (intervalul -32768 până la 32767 ) |
long | cel puțin 4 | folosit pentru numere întregi mari (echivalent cu long int) |
unsigned long | 4 | folosit pentru numere întregi pozitive mari sau 0 (echivalent cu unsigned long int) |
long long | 8 | folosit pentru numere întregi foarte mari (echivalent cu long long int). |
unsigned long long | 8 | folosit pentru numere întregi pozitive foarte mari sau 0 (echivalent cu unsigned long long int) |
long double | 8 | folosit pentru numerele mari cu virgulă mobilă |
signed char | 1 | folosit pentru caractere (interval garantat -127 până la 127 ) |
unsigned char | 1 | utilizat pentru caractere (interval 0 - 255 ) |
modificator de tip scurt
Putem folosi shortpentru întregi mici (în intervalul de −32,767la +32,767).
De exemplu,
// small integer short a = 12345;
Aici, a este o shortvariabilă întreagă.
Notă: short este echivalent cu short int.
modificator de tip lung
Dacă trebuie să stocăm un număr întreg mare (în intervalul -2147483647 până la 2147483647), putem folosi specificatorul de tip long. De exemplu,
// large integer long b = 123456;
Notă: long este echivalent cu long int.
Modificatorul de tip lung poate fi folosit și cu doublevariabile.
// large floating-point number long double c = 0.333333333333333333L;
Notă: Pentru a indica long double, folosim Lsufixul. Dacă nu folosim sufixul L, este o doublevaloare care este convertită în long double(ceea ce poate duce la pierderea datelor).
lung lung
longpoate fi repetat de două ori pentru a crea long longtipul. Acest tip este utilizat pentru numere chiar mai mari decât long. long longmodificatorul de tip poate fi utilizat numai cu int.
De exemplu,
// long long int long long num = 12345678;
modificatori semnați și nesemnați
Variabilele semnate pot conține atât numere întregi pozitive, cât și negative, inclusiv zero . De exemplu,
// positive valued integer signed int x = 23; // negative valued integer signed int y = -13; // zero-valued integer signed int z = 0;
Aici,
- x deține un număr întreg cu valoare pozitivă
- y deține un număr întreg cu valoare negativă
- z deține un număr întreg cu valoare zero
Notă:
- În mod implicit, numerele întregi sunt
signed. Prin urmare, în loc designedint, putem folosi directint. signedși nesemnat poate fi utilizat numai cu tipuri int și char.
De Variabilele nesemnate pot deține valori întregi numai non-negative. De exemplu,
// positive valued integer unsigned int x = 2; unsigned int y = 0;
Aici,
- x deține un număr întreg cu valoare pozitivă
- y deține zero
În general, o intvariabilă poate stoca un interval de valori de la -2.147.483.648 la 2.147.483.647 . În timp ce, o unsigned invariabilă t poate stoca o serie de valori de la 0 la 4.294.967.295 .
semnat, nesemnat și simplu
C ++ are 3 tipuri diferite: char char, signed charși unsigned char. În practică, există practic doar 2 tipuri: signed charși unsigned char.
Acest lucru se datorează faptului că, deși charnu este același cu signed charsau unsigned charîn C ++ standard, diferite compilatoare se tratează charca fiind signed charsau în unsigned charfuncție de propria lor preferință.
Notă: Când folosim doar charîn loc de signed charsau unsigned char, acest tip este cunoscut sub numele de char simplu .
Așa cum ați fi putut ghici, signed charpoate stoca atât numere întregi pozitive, cât și negative, în timp ce unsigned charpoate stoca numai numere întregi pozitive (inclusiv 0 ).
Garantată intervalul de valori întregi signed charpot stoca este -127-127 în timp ce intervalul de unsigned chareste 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;
Aici,
- plain_1 deține un număr întreg cu valoare pozitivă
- plain_2 deține un număr întreg cu valoare zero
- sin_1 deține un număr întreg cu valoare pozitivă
- sin_2 deține un număr întreg cu valoare zero
- sin_3 deține un număr întreg cu valoare negativă
- unsin_1 deține un număr întreg cu valoare negativă
- unsin_2 deține un număr întreg cu valoare zero
Notă: Este de preferat să nu folosiți caractere simple pentru a efectua manipulări numerice; Pentru aceasta ar trebui să fie folosite caractere semnate sau nesemnate. Caracterul simplu trebuie utilizat numai pentru a stoca valorile caracterelor.








