Î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 ++.
short
long
signed
unsigned
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 short
pentru întregi mici (în intervalul de −32,767
la +32,767
).
De exemplu,
// small integer short a = 12345;
Aici, a este o short
variabilă î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 double
variabile.
// large floating-point number long double c = 0.333333333333333333L;
Notă: Pentru a indica long double
, folosim L
sufixul. Dacă nu folosim sufixul L
, este o double
valoare care este convertită în long double
(ceea ce poate duce la pierderea datelor).
lung lung
long
poate fi repetat de două ori pentru a crea long long
tipul. Acest tip este utilizat pentru numere chiar mai mari decât long
. long long
modificatorul 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 designed
int
, 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 int
variabilă poate stoca un interval de valori de la -2.147.483.648 la 2.147.483.647 . În timp ce, o unsigned in
variabilă 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 char
nu este același cu signed char
sau unsigned char
în C ++ standard, diferite compilatoare se tratează char
ca fiind signed char
sau în unsigned char
funcție de propria lor preferință.
Notă: Când folosim doar char
în loc de signed char
sau unsigned char
, acest tip este cunoscut sub numele de char simplu .
Așa cum ați fi putut ghici, signed char
poate stoca atât numere întregi pozitive, cât și negative, în timp ce unsigned char
poate stoca numai numere întregi pozitive (inclusiv 0 ).
Garantată intervalul de valori întregi signed char
pot stoca este -127-127 în timp ce intervalul de unsigned char
este 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.