618569 afișări Candale Silviu (silviu) 26.09.2021
www.pbinfo.ro

Tipul de date reprezintă un concept foarte important în C/C++. Orice dată (constantă sau variabilă) este de un numit tip. Tipul datei precizează ce valori poate avea acea dată și ce operații se pot face cu ea.

În C/C++ tipurile de date sunt:

  1. Tipuri simple
    • Tipul int
    • Tipurile float și double
    • Tipul char
    • Tipul pointer
    • Tipul bool
    • Tipul void
  2. Tipuri derivate
    • Tipul tablou
    • Tipul structură/clasa
    • Tipul enumerare

Acest articol se referă numai la tipurile simple.

Tipul int

  • permite memorarea de valori întregi – pozitive sau negative;
  • o dată de tip int ocupă (de regulă) 4 octeți; astfel, poate memora valori întregi din \([-2^{31},2^{31}-1]\), adică \([-2.147.483.648,2.147.483.647]\).

Exemplu

int n = 100;

În probleme, dacă datele întregi nu depășesc (aproximativ) 2.000.000.000 folosim tipul int. Pentru datele care depășesc această valoare vom folosi tipul long long.

Tipurile float și double

  • memorează numere reale;
  • separatorul zecimal este punctul .
  • se mai numesc tipuri în virgulă mobilă;
  • datele reale pot fi date în forma fixă sau în forma științifică (exponențială);
  • tipul float se reprezinta pe 4 octeți;
  • tipul double se reprezinta pe 8 octeți;

Exemplu

float p = 3.14, r = 2.5;
double A = p * r * r;

Datele reale pot fi scrise în forma științifică (exponențială):

double x = 1.24E+07; // înseamnă 1.24 * 10^7

Tipul char

  • se folosește pentru caractere ASCII
  • stochează un singur caracter
  • se reprezintă pe 1 octet
  • caracterele sunt delimitate prin apostrof

Exemplu

char c='A';

În C++, o dată de tip char nu memorează caracterul, ci un număr corespunzător caracterului. Mai multe detalii aici.

Tipul pointer

  • o dată de tip pointer memorează o adresă de memorie – de exemplu adresa unei variabile;

Informații despre pointeri găsiți în acest articol.

Tipul bool

Anumite operații care se fac cu datele au ca rezultat valori de adevăr: adevărat sau false.

  • tipul bool conține două valori: true și false ;
  • se reprezintă (de regulă) pe 1 octet;
  • valorile numerice ale lor sunt 1 și 0;
  • se folosesc în instrucțiuni condiționale și repetitive

Exemplu

bool pp = false;

Tipul void

  • cuvântul void înseamnă “nimic” sau “fără valoare”;
  • datele de tip void nu au valori și nu se pot face cu ele operații;
  • îl folosim pentru funcții și pointeri

Nu putem declara variabile de tipul void.

Modificatori de tip

Permit schimbarea modului în care se face reprezentarea internă a unei date. Aceștia sunt:

  • signed
  • unsigned
  • short
  • long

Pot fi aplicați tipurilor

  • int
  • double
  • char
Tip de date Reprezentare Înțeles
signed int 4 octeți cu semn La fel ca int. Valori întregi din \([-2^{31},2^{31}-1]\), adică \([-2147483648,2147483647]\).
unsigned int 4 octeți fără semn Valori naturale din \([0,2^{32}-1]\), adică \([0 , 4294967295]\).
long 4 octeți cu semn La fel ca int. Echivalent cu long int.
unsigned long 4 octeți fără semn La fel ca unsigned int. Echivalent cu unsigned long int.
short 2 octeți cu semn Valori întregi mici din \([-2^{15},2^{15}-1]\), adică \([-32768,32767]\). Echivalent cu short int.
unsigned short 2 octeți fără semn Valori naturale mici din \([0 , 2^{16}-1]\), adică \([0 , 65535]\). Echivalent cu unsigned short int.
long long 8 octeți cu semn Valori întregi foarte mari din \([-2^{63},2^{63}-1]\). Echivalent cu long long int
unsigned long long 8 octeți fără semn Valori naturale foarte mari din \([0,2^{64}-1]\). Echivalent cu unsigned long long int
signed char 1 octet cu semn Caractere. Valorile numerice sunt din \([-2^{7},2^{7}-1]\), adică \([-128,127]\).
unsigned char 1 octet fără semn Caractere. Valorile numerice sunt din \([0,2^{8}-1]\), adică \([0,255]\).
long double 10, 12, 16 Memorează numere reale mari. Reprezentarea depinde de compilator, dar trebuie să ocupe cel puțin la fel ca double.

618569 afișări Candale Silviu (silviu) 26.09.2021
www.pbinfo.ro
Du-te sus!