1.
Sistemul
zecimal
Este sistemul de numeratie pe care
il utilizam din copilarie dar putin stiu ca acest system foloseste o numeratie
cu 10 cifre si este un system in baza 10.
Pozitia cifrelor are o foarte mare
importanta.
Citirea numerelor se face de la
stanga la dreapta iar numararea pozitiei se face de la dreapta la stanga.
Ex: 504 citirea
se face de la stanga la dreapta: cinci, zero, patru
Pozitia
de la dreapta la stanga : 4 – pozitia 0
0
– pozitia 15 – pozitia 2
Reprezentarea numarului in baza 10 :
504
= 4 * 100 + 0 * 101 + 5 * 102
504
= 5 * 102 + 0 * 101 + 4 * 100
10x
10
= baza
X
= pozitia cifrei respective
Ex:
1982 = 2 * 100 + 8 * 101 + 9 *
102 + 1 * 103
Daca intelegem acest system de numeratie
va fi foarte usor pentru celelalte sisteme de numeratie pentru ca sunt
asemanatoare.
2.
Sistemul
binar
Daca sistemul zecimal foloseste o
numeratie cu 10 cifre, sistemul binar foloseste o numeratie pe 2 cifre sau este
un system in baza 2. Cele 2 cifre sunt 0 si 1 numite biti, 8 biti (8 cifre de 1
si 0 ) se numeste octet sau byte.
Luam la intamplare numarul binary
10110010. Daca ne uitam la el nu intelegem nimic, este o insiruire de 0 si 1
iar noi stim doar sistemul zecimal. Stiind doar sistemul zecimal vom transforma
numarul binar in numar zecimal.
10110010
= 0 * 20 + 1 * 21 + 0 *22 + 0 * 23
+ 1 * 24 + 1 * 25 + 0 * 26 + 1 * 27
=
0 + 2 + 0 + 0 + 16 + 32 + 0 + 128
= 2 + 16 + 32 + 128
= 178
Este acelasi principiu de calcul ca
si in cazul sistemului zecimal diferenta fiind doar baza ( aici este 2 iar la
zecimal este 10 ).
Concluzia este : numarul binar
100110010 = 178 in sistem zecimal.
Acum sa transformam numarul zecimal
178 in sistem binar. Vom aplica metoda restului impartirii la 2 a numarului, adica:
daca restul impartirii la 2 ≠ 0 scriem 1 in caz contrar scriem 0
si continuam impartirea cu catul.
Exemplificare:
178 :2 = 89,0 → rest 0 scriem 0
89 : 2 = 44,5 → rest 5 scriem 1
44 : 2 = 22,0 → rest 0 scriem 0
22 : 2 = 11,0 → rest 0 scriem 0
11 : 2 = 5,5 → rest 5 scriem 1
5 : 2 = 2,5 → rest 5 scriem
1
2 : 2 = 1,0 → rest 0 scriem
0
1 : 2 = 0,5 → rest 5 scriem
1 , catul a ajuns 0 si ne oprim. Citirea se face de jos in sus 10110010 ceea ce
este adevarat.
Sistemul binar este un sistem putin
mai greu in cazul in care se folosesc succesiuni lungi de 1 si 0. Acest lucru a
dus la cautarea unei solutii mai practice pentru reprezentarea numerelor binare
si s-a gasit urmatoarea solutie : se taie jumatate de octet (byte) si se
reprezinta fiecare jumatate printr-o cifra.
Valoarea maxima a unei jumatati de
octet ( byte ) este 15, in binar 1111, iar pentru ca cele 10 cifre ale
sistemului zecimal nu sunt de ajuns s-a decis sa se foloseasca si primele 6
litere ale alfabetului pe post de cifre si asa s-a nascut sistemul hexazecimal.
In continuare va prezint tabelul de
conversie pentru jumatati de octet
Binar
|
Hexazecimal
|
Zecimal
|
0000
|
0
|
0
|
0001
|
1
|
1
|
0100
|
2
|
2
|
0011
|
3
|
3
|
0100
|
4
|
4
|
0101
|
5
|
5
|
0110
|
6
|
6
|
0111
|
7
|
7
|
1000
|
8
|
8
|
1001
|
9
|
9
|
1010
|
A
|
10
|
1011
|
B
|
11
|
1100
|
C
|
12
|
1101
|
D
|
13
|
1110
|
E
|
14
|
1111
|
F
|
15
|
Pentru a reprezenta un octet (byte) ne vor
trebui 2 cifre hexazecimale.
Exemplu:10010101 : prima jumatate = 1001
a doua jumatate = 0101
-dupa injumatatire vom lua fiecare jumatate si o vom transforma in hexazecimal.
1001 ------ conform tabelului ------ = 0x9
0101 ------ conform tabelului ------ = 0x5
Acestea fiind spuse observam ca 10010101 = 0x95
Conversia din
hexazecimal in zecimal
-
Luam
ca exemplu numarul hexazecimal 0xB1
0xB1 = 0xB ------- conform tabelului ------- = 11 = 0x1 -------- conform tabelului -------- = 1
rezulta 11 * 161 + 1 * 160 = 177 → 0xB1 = 17
-
Convertim
numarul zecimal 177 in binar pentru a demonstra ca este acelasi numar binar din
exemplul de mai sus:
177 : 2 = 88,5 = rest 5 → scriem 1
88 : 2 = 44 = rest 0 → scriem 0
44 : 2 = 22,0 = rest 0 → scriem 0
22 : 2 = 11,0 = rest 0 →scriem 0
11 : 2 = 5,5 = rest 5 →scriem 1
5 : 2 = 2,5 = rest 5 →scriem 1
2 : 2 = 1,0 = rest 0 →scriem 0
1 : 2 = 0,5 = rest 5 →scriem 1
Daca citim de jos in sus → 10110001
Conversia din
hexazecimal in binar
0xB1 = 0xB ------- conform tabelului ------ =11 ------ in binar ----- = 1011 = 0x1 -------- conform tabelului ----- = 1 -------- in binar ----- = 0001
rezulta ca 0xB1 = 10110001
Niciun comentariu:
Trimiteți un comentariu