Tipuri de date în C++: numere întregi, reale, caractere și altele
Cea mai importantă caracteristică a unei informații în C++ este tipul ei. Pentru toate variabilele trebuie cunoscut tipul acesteia, care permite diverse operații specifice sau valori pe care le poate lua.
În C++ există o mare varietate de tipuri diferite de date.
Tipul int
Pe departe cel mai utilizat tip de date, tipul int permite memorarea unui
număr întreg (număr fără virgulă, atât pozitive, cât și negative).
Memorie folosită și valori posibile
Tipul int ocupă $4$ octeți, adică $32$ de biți. Astfel, un număr de tip int
poate memora valori între $-2^{31}$ și $2^{31} - 1$, sau între $-2.147.483.648$ și $2.147.483.647$.
Exemplu
Iată un exemplu de declarare a unui număr întreg:
int x = 15;
Când este indicată folosirea cu tipul int
Dacă în problema dată, un număr nu depășește aproximativ $2.000.000.000$ (două
miliarde) sau $9$ cifre, atunci putem să folosim tipul de date int.
Observații
Există și varianta short int (sau mai simplu: short), care ocupă jumătate
din memorie, astfel că poate reține valori doar de la $-2^{15}$ până la $2^{15} - 1$.
Tipul long long
Tipul long long permite memorarea numerelor întregi de la $-2^{63}$ la $2^{63} - 1$. Tipul long long poate reține numere până la $18$ cifre, în comparație cu
doar $9$ pentru numere de tipul int.
Memorie folosită și valori posibile
Tipul long long ocupă $8$ octeți, sau $64$ de biți. Poate lua valori de la $-2^{63}$ până la $2^{63} - 1$, sau de la $-9.223.372.036.854.775.808$ până la $9.223.372.036.854.775.807$.
Exemplu
Iată un exemplu de declarare a unui număr long long:
long long x = 1000000000000; //13 cifre
Tipurile float și double
Tipurile float și double rețin numere reale, atât pozitive, cât și
negative. Partea întreagă este separată de partea rațională cu punctul (.).
Memorie folosită și valori posibile
Cele două tipuri de date sunt tipuri de date în virgulă mobilă: mai exact,
limitele acestor variabile se ating fie cu valori mari și cu puține zecimale,
fie cu valori mici/imprecise și cu multe zecimale. Tipul float se reprezintă pe $4$
octeți ($32$ de biți), pe când tipul double se reprezintă pe $8$ octeți ($64$ de biți), adică dublul tipului float (de unde vine și numele).
Exemplu
Iată un exemplu de program care utilizează tipurile float și double:
float nr1 = 1.23;
double nr2 = 4.56E-03; //4.56 * 10(-3) = 0.00456
Tipul char
Tipul char reține un singur caracter: literă, simboluri sau chiar cifre. Mai
exact, fiecare dintre cele $256$ de caractere posibile are atribuit câte un
cod, numit cod ASCII, o valoare
de un octet ($8$ biți), care este salvat. Astfel, tipul char poate să rețină
valori între $-128$ și $127$.
Caracterele sunt delimitate de apostroafe (').
Mai multe detalii despre tipul char se învață în clasa a X-a, în această
lecție.
Exemplu
Iată un exemplu de program ce utilizează tipul char:
char c1 = 'a'; //Delimitat cu apostroafe
char c2 = 97; //Reține caracterul 'a', deoarece codul ASCII al lui 'a' este 97
Tipul bool
Tipul bool este un tip de date ce poate memora doar două valori: $0$
(false — fals) și $1$ (true — adevărat).
Memoria folosită
Acest tip de variabilă este salvată pe un octet ($8$ biți). Deși, intuitiv, o
variabilă ce reține doar $0$ și $1$ ar trebui să fie memorat într-un singur bit (deoarece un bit poate reține valorile $0$ și $1$), apelând funcția
sizeof(bool) în C++ dă răspunsul $1$, adică $1$ byte ($1$ octet).
Exemplu
Iată un exemplu de folosire a tipului de variabilă bool. Se poate folosi în
cazul variabilelor flag (steguleț):
bool ok = true, gasit = false;
Tipul void
Void înseamnă nimic, astfel că, intuitiv, tipul void nu poate reține
nicio valoare. În clasa a X-a se învață mai mult despre acest tip (în această
lecție), iar variabilele obișnuite nu
pot fi declarate cu acest tip.
Tipurile signed vs. unsigned
Pentru tipurile int (numit și long), short, long long și char există
variante signed și unsigned — cu sau fără semn. Mai precis, varianta
signed (cea obișnuită) cuprinde atât numere pozitive, cât și negative. Pe de
altă parte, varianta unsigned cuprinde doar numere pozitive (începând cu $0$), însă limita superioară este de $2$ ori mai mare.
Spre exemplu, int, sau signed int reține numere de la $-2.147.483.648$ până la $2.147.483.647$, pe când unsigned int reține numere de la $0$ la $4.294.967.295$ (dublul limitei anterioare).
Alte resurse sau bibliografie
DS
Autorul acestei lecții
Dominic Satnoianu
Această lecție a fost redactată de către Dominic Satnoianu.
© 2021 – 2025 Aspire Education Labs SRL. Toate drepturile rezervate.
Așa cum este specificat și în termeni și condiții, conținutul acestei pagini este protejat de legea drepturilor de autor și este interzisă copierea sau modificarea acestuia fără acordul scris al autorilor.
Încălcarea drepturilor de autor este o infracțiune și se pedepsește conform legii.
Comentarii 0