Contact și feedback

Nu obții 100 de puncte sau ai nelămuriri în privința problemelor? Scrie-mi pe Instagram.


Ai găsit o greșeală, vrei să raportezi un utilizator sau vrei să comunici altceva? Folosește formularul de contact.


Vrei să ne transmiți o părere despre platformă? Folosește formularul de feedback.

Shortcuturi

Folosește următoarele shortcuturi pentru a naviga mai ușor pe platformă.

Generale

Meniu shortcuturi?
Căutare probleme sau utilizatori/
Navigare printre rezultatele căutării↑, ↓
Meniu de contact și feedbackCTRL + Shift + F
Ieșire din meniuriEsc

Editor probleme

Setări editorCTRL + Shift + S
Schimbare stil editorCTRL + Shift + E
Șabloane de codCTRL + Shift + 1/2/3
Golire editorCTRL + Shift + 4

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 -231 și 231 - 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 -215 până la 215 - 1.

Tipul long long

Tipul long long permite memorarea numerelor întregi de la -263 la 263 - 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 -263 până la 263 - 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 ș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

Obține medalia mult dorită. Devino As la olimpiadă.

Curs complet de olimpiadă, pregătit de olimpici de la Oxford și TU Delft.

Cuprinsul lecției

Se încarcă…

Citește și

Instrucțiunea for (structuri repetitive)Combinatorică în C++: permutări, aranjamente, combinări și alteleNumărul de divizori primi ai unui număr în C++Oglinditul recursiv al unui număr în C++Matrice pătratice în C++. Diagonala principală și secundarăTransformarea unui număr din baza 10 în baza 2 în C++Cum să citești și să afișezi în fișiere în C++Cel mai puțin semnificativ bit în C++Al N-lea termen Fibonacci în C++Materia pentru olimpiada de informatică - tot ce trebuie să știiPointer în C++. Variabile de tipul char * (char steluță)Suma divizorilor numerelor de la 1 la N (Folosind ciurul lui Eratostene)Cel mai semnificativ bit în C++Vectorii în C++: declarare și parcurgereȘirul lui Fibonacci în C++Tipul struct în C++. Ce sunt structurile de date neomogeneVerifică dacă un caracter este literă în C++Cifrele unui număr. Prelucrarea cifrelor unui număr în C++Inversarea unui vector în C++Suma numerelor naturale dintr-un interval dat în C++Verifică dacă un număr dat este o putere de 2 în C++CMMDC recursiv a două numere naturale în C++Ridicarea la putere în timp logaritmic în C++. Exponențiere rapidăAflarea sumei primelor N sume GaussNumărul de apariții al unui număr într-un vector în C++Divide et Impera (metodă de programare C++)Instrucțiunea do while (structuri repetitive)Transformarea unei litere mici în literă mare în C++Numărul aranjamentelor în C++ (formula aranjamentelor)Instrucțiunea break (structuri repetitive)Tutorial instalare CodeBlocks (ușor) - Introducere în informatică C++Mediana unui șir de valori în C++Ce este o variabilă unsigned în C++?Câte numere naturale sunt într-un interval dat? (C++)Operații cu numere mari în C++ - Toate funcțiile explicateMaximul și minimul unui vector în C++Numărul de divizori al unui număr în C++Sortare crescătoare recursivă în C++ - Merge sort și Bubble sortAplicații cu ciurul lui Eratostene în C++: suma divizorilor, numărul divizorilorInterschimbarea a două variabile în C++ (3 metode)Instrucțiunea continue (structuri repetitive)Funcții în C++. Ce sunt subprogrameleCitește un șir de caractere cu spații în C++Șiruri de caractere în C++. Tot ce trebuie să știiSuma 1 + 2 + 3 + ... + N în C++Afișarea divizorilor primi ai unui număr în C++Interclasarea a doi vectori în C++Verificare dacă șir de caractere este palindrom în C++Verificare număr prim în C++ (Clasa a IX-a)Indicatorul lui Euler al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Distanța dintre două puncte în C++Aria și circumferința unui cerc în C++Numărul combinărilor în C++ (formula combinărilor)Instrucțiunea while (structuri repetitive)Ce înseamnă endl în C++?Valoarea absolută (modulul) unui număr în C++Verifică dacă un bit de pe o anumită poziție este 1 sau 0 în C++Tipuri de date în C++: numere întregi, reale, caractere și alteleComplexitatea unui algoritm (timp și spațiu) în C++Ciurul lui Eratostene în C++Vectorii în C++: citire și afișareCe înseamnă variabilă globală și locală în C++?Ce este o funcție void în C++?Maximul și minimul a două valori în C++Factorialul unui număr în C++Cel mai mic/mare divizor prim al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Afișarea elementelor unui vector recursiv în C++Algoritm recursiv pentru căutare binară (clasa a X-a)Numere triunghiulare. Verificarea unui număr triunghiularOglinditul unui număr în C++Cel mai mare divizor comun (CMMDC) a două numere în C++Matrice Fibonacci - al n-lea termen Fibonacci în timp logaritmicCea mai lungă secvență de elemente crescătoare în C++Suma elementelor unui vector recursiv în C++Verifică dacă o literă este mică sau mare în C++Do while vs while în C++ - Care e diferența?Transformarea unui număr din baza 2 în baza 10 în C++Numărul minim de peroane pentru o gară în C++Suma divizorilor unui număr în C++Cum să calculezi instant 2 la puterea N în C++Cifra maximă a unui număr recursiv în C++Recursivitate în C++CMMMC a două numere în C++ (cel mai mic multiplu comun)Radicalul unui număr în C++ (rădăcina pătrată)Cifra de control a unui numărAflă secolul unui an citit de la tastatură în C++Verifică dacă un caracter este cifră în C++Bordarea unei matrice în C++Matrice în C++. Declararea și parcurgerea tablourilor bidimensionaleCum să afișezi partea întreagă a unui număr real în C++Verifică dacă un număr aparține șirului Fibonacci în C++Rădăcina cubică a unui număr în C++ (cube root)Maximul și minimul a n valori în C++Vectori de frecvență (de apariții) în C++Copiuțe: Cifrele unui numărFuncții predefinite în C++ (matematice, șiruri de caractere)Verifică dacă un număr este par sau impar fără modulo în C++Cel mai frecvent element dintr-un șir în C++Cifra maximă și minimă a unui număr în C++Citirea și afișarea matricelor în C++Cel mai mic număr cu suma cifrelor N în C++Al N-lea termen dintr-o progresie geometricăNumărul de divizori al numerelor de la 1 la N (Folosind ciurul lui Eratostene)Verificare dacă un număr este palindrom în C++Verifică dacă trei puncte sunt coliniare C++Verificarea unui an bisect în C++Maximul și minimul a trei valori în C++Căutare binară în C++Aria unui triunghi folosind coordonatele acestora în C++Generarea șirului Fibonacci generalizat în C++Numărul de cifre ale factorialului unui numărComentarii în C++Al N-lea termen dintr-o progresie aritmeticăIndicatorul lui Euler în C++De ce cer unele probleme răspunsul modulo 666013 sau modulo 1.000.000.007?Prima cifră a unui număr în C++Verifică dacă o literă este vocală în C++Structuri repetitive (while, do while, for, etc)Transformarea unei litere mari în literă mică în C++Inversarea unui șir de caractere în C++Instrucțiunea de decizie în C++: if, else, switch, caseCalculul combinărilor de n luate câte k (nCk) în C++Codul ASCII (tabel complet)Numărul permutărilor în C++ (formula permutărilor)

© Drepturi de autor

Echipa InfoAs își rezervă drepturile de autor pentru conținutul acestei pagini. Copierea conținutului fără acordul scris expres al InfoAs reprezintă o încălcare a Legii 8/1996 și va fi tratată ca atare.

Trimite lecția

Toată lecția

Doar videoclipul pe YouTube

Informatica devine ușoară cu InfoAs

Intră în cont