Video: Tipuri de date în C++: numere întregi, reale, caractere și altele

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

Autentifică-te pentru a putea comenta.

Autentifică-te