Numere

C++ are mai multe tipuri numerice pentru diferite nevoi: întregi (fără virgulă) și reale (cu virgulă mobilă).

Numere întregi

int a = 42;
int b = -17;
long long c = 9000000000LL;  // sufix LL pentru long long
int hex = 0xFF;              // hexazecimal = 255
int oct = 017;               // octal = 15
int bin = 0b1010;            // binar (C++14) = 10

Numere reale

float f = 3.14f;           // sufix f pentru float
double d = 3.14159265358979;
double stiintific = 1.5e10; // 1.5 × 10¹⁰

Conversii între tipuri

int x = 7, y = 2;
cout << x / y << endl;           // 3 (împărțire întreagă!)
cout << (double)x / y << endl;   // 3.5 (cast explicit)
cout << x / (double)y << endl;   // 3.5
7 / 2 = 3 în C++ (împărțire întreagă). Pentru a obține 3.5, cel puțin un operand trebuie să fie double.

✏️ Exercițiu

Ce afișează: <code>cout &lt;&lt; 5/2 &lt;&lt; endl;</code> și <code>cout &lt;&lt; 5.0/2 &lt;&lt; endl;</code>? Explică diferența.

💡 Indiciu: Tipul operanzilor determină tipul operației.