Tipuri numerice de date (Curs1)

Ne propunem să facem cunoştiinţă cu tipurile numerice de date ale limbajului C, modul
lor de reprezentare în memorie, domeniul de valori, operatorii specifici acestor tipuri de date
precum şi cu alţi operatori pe care îi întâlnim în C.
În C şi C++ avem două categorii de tipuri numerice de date: tipuri întregi şi reale. Cu cele
două clase de tipuri numerice se lucrează diferit (la nivel de procesor). Reprezentarea informaţiei
în memorie este diferită, avem operatori diferiţi.
2.1. Tipuri întregi de date
În tabelul de mai jos sunt prezentate tipurile numerice întregi cu semn (signed) şi fără
semn (unsigned) din C. Facem observaţia că numărul de octeţi pe care se reprezintă în memorie
valorile întregi şi implicit domeniile de valori din tabelul următor sunt cele pentru Windows, mai
exact, cele din Visual C:


Denumire tip   |   Număr octeţi     |     Domeniu de valori
(signed) char              1                         -128 la 128
unsigned char             1                               0 la 255
enum                          2                      -32.768 la 32.767
short (signed) (int)        2                           0 la 65.535
short unsigned (int)      2                    -32.768 la 32.767
(signed) int                   4                   -2.147.483.648 la 2.147.483.647
unsigned int                 4                       0 la 4.294.967.295
(signed) long                4                  -2.147.483.648 la 2.147.483.647
unsigned long              4                       0 la 4.294.967.295



Să facem câteva observaţii:
i. În Visual C tipul enum coincide cu tipul short int, iar tipul int coincide cu long.
10
ii. Tot ceea ce apare între paranteze rotunde în tabelul de mai sus este opţional.
iii. Tipurile numerice de date au o dublă utilizare în C şi C++: pentru valori numerice
(numere) şi pentru valori booleene. Astfel, o valoare numerică nenulă (întreagă
sau reală) corespunde în C/C++ valorii booleene de adevărat (true), iar o valoare
numerică nulă corespunde valorii booleene de fals (false)
iv. Tipurile char şi unsigned char în C şi C++ au o triplă întrebuinţare: pentru valori
întregi pe un octet, pentru valori booleene şi pentru caractere. Valoarea întreagă
de tip char reprezintă codul ASCII al unui caracter. Astfel, constanta de tip char
‘a’ reprezintă valoarea întreagă 97, care este de fapt codul ASCII al caracterului a.
Cu alte cuvinte, în C ‘a’ este acelaşi lucru cu 97 !
v. În Visual C pentru caractere Unicode este definit tipul wchar_t pe doi octeţi

0 comentarii:

Trimiteți un comentariu