duminică, 7 iunie 2015

SISTEMUL DE NUMERATIE


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 1
                                                                                                                                     5 – 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.

 3.      Sistemul Hexazecimal

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