Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




Baze de numeratie

Matematica


Baze de numeratie

Metoda noastra pentru scrierea numerelor se bazeaza pe puterile lui 10. De exemplu, fie numarul 2468. 2 reprezinta 2 mii, 4 reprezinta 4 sute, 6 reprezinta 6 zeci iar 8 reprezinta 8 unitati:



O mie este 10*10*10, ceea ce poate fi scris 103, sau 10 la puterea a treia. Utilizând aceasta notatie, putem scrie relatia precedenta astfel:

Deoarece notatia este bazata pe puterile lui 10, o denumim notatie în baza 10 sau zecimala. Oricine poate alege un alt numar ca baza. În C++ vi se permite sa notati numerele întregi si în baza 8 (octal) sau în baza 16 (hexazecimal). (Observatie: 100 este 1, ca de altfel orice alt numar diferit de zero, ridicat la puterea zero.)

Întregi octali

Numerele octale sunt bazate pe puterile lui 8, deci notatia în baza 8 foloseste pentru scrierea numerelor cifrele 0-7. C++ foloseste prefixul 0 pentru a indica notatia octala. Prin urmare 0177 este o valoare octala. Pentru a gasi echivalentul în baza 10 folositi puterile lui 8:

0177 (octal) = 1 82+7 8­­­­1+7 80

= 1 64+7 8+7 1

= 127 (zecimal)

Motivul pentru care C++ si C permit notatia octala este ca în sistemul de operare UNIX valorile sunt adesea reprezentate în octal.

Numere hexazecimale

Numerele hexazecimale sunt bazate pe puterile lui 16. Adica 10 hexazecimal este 16+0 adica 16. Pentru a reprezenta valorile între 9 si 16 în hexazecimal este nevoie de câteva cifre în plus. Notatia hexazecimala standard foloseste pentru aceste cifre literele a-f. C++ accepta atât majuscule cât si litere mici pentru aceste notatii, dupa cum vedeti si în Tabelul A.1.

Tabelul A.1 Cifrele hexazecimale.

Cifra hexazecimala Valoare zecimala Cifra hexazecimala Valoare zecimala

a sau A 10 d sau D 13

b sau B 11 e sau E 14

c sau C 12 f sau F 15

Pentru a indica o notatie hexazecimala în C++ se folosesc ca preficsi 0x sau 0X. Prin urmare, 0x2B3 este o valoare hexazecimala. Pentru a gasi valoarea zecimala echivalenta, evaluati puterile lui 16:

0x2B3 (hexa) = 2 162+11 161+3 160

= 2 256+11 16+3 1

= 691 (zecimal)

Documentatiile hardware folosesc în mod curent notatii hexazecimale pentru valorile unor locatii de memorie si pentru porturi.

Numere binare

Chiar daca folositi notatii zecimale, octale sau hexazecimale pentru a scrie un întreg, calculatorul îl va stoca în valoare binara, sau în baza 2. În notatie binara se folosesc doar doua cifre, 0 si 1. De exemplu 10011011 este un numar binar. Totusi, C++ nu furnizeaza o notatie binara. Numerele binare se bazeaza pe puterile lui 2:

10011011 = 1 27+0 26+0 25+1 24+1 23 +0 22+1 21+1 20



= 128+0+0+16+8+0+2+1

= 155

Notatia binara se potriveste memoriei unui calculator, în care fiecare element, care se numeste bit, poate fi activ sau inactiv. Trebuie doar sa identificati starea inactiva cu 0, iar cea activa cu 1. Memoria este organizata de obicei în grupuri de biti, care se numesc octeti, fiecare octet având 8 biti. Bitii într-un octet sunt numerotati dupa puterile lui 2 corespunzatoare. Astfel, cel mai din dreapta este bitul 0, urmatorul este bitul 1, si asa mai departe. În Figura A.1 va este prezentat un întreg pe doi octeti.

numarul bitului

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0

valoare = 1 211 + 1 28 + 1 25 + 1 21

= 2048 + 256 + 32 + 2

= 2338

Figura A.1 O valoare întreaga reprezentata pe doi octeti.

Binar si hexa

Notatia hexa este folosita adesea pentru a vizualiza mai comod datele binare, cum ar fi adresele de memorie sau întregii care pastreaza setarile bitilor indicatori. Acest lucru este posibil deoarece fiecare cifra hexazecimala corespunde unei unitati formate din patru biti. În Tabelul A.2 va este prezentata aceasta corespondenta.

Tabelul A.2 Cifrele hexazecimale si echivalentii binari.

Cifra hexazecimala Echivalent binar Cifra hexazecimala Echivalent binar

0 0000 8 1000

1 0001 9 1001

2 0010 A 1010

3 0011 B 1011

4 0100 C 1100

5 0101 D 1101

6 0110 E 1110

7 0111 F 1111

Pentru a converti o valoare hexa în binar, înlocuiti fiecare cifra hexa cu setul de biti echivalent. De exemplu, numarul hexa 0xA4 corespunde binarului 1010 0100. În mod analog, puteti converti cu usurinta o valoare binara în notatie hexa convertind fiecare unitate de patru biti în cifra hexa echivalenta. De exemplu, valoarea binara 1001 0101 devine 0x95.




Document Info


Accesari: 7422
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2025 )