Initiere in microcontrolere – Lectia 2

by donpedro

Sisteme de numeraţie – sistemul zecimal şi sistemul binar

Oamenii au învăţat să utilizeze sistemul zecimal numărând şi calculând, însă microprocesoarele utilizează un sistem diferit de cel zecimal şi anume sistemul binar de numeraţie.
Toate sistemele de numeraţie folosesc aceleaşi reguli.
Baza (B) a sistemului zecimal este 10, pentru sistemul binar baza este 2.
Baza unui sistem se referă la numărul semnelor distincte utilizate pentru formarea numerelor. De exemplu, pentru sistemul zecimal 0,1,2,3,4,5,6,7,8,9 B=10, iar pentru sistemul binar 0,1 deci, B=2. Fiecare număr se obţine din numărul anterior prin adăugarea unei unităţi la ultima cifră.
În sistemul zecimal când numeri de la 0 până la 9 şi mai aduni o unitate trebuie să adaugi o altă poziţie numerică la stânga în care pui valoarea 1 pentru a obţine 10 (zece) – număr zecimal format din două cifre.
În sistemul binar când numeri de la 0 la 1 adunând o unitate trebuie adăugată o altă poziţie numerică la stânga, pe această poziţie se plasează cifra 1 obţinând 10 (doi în sistemul binar).
Tot ce trebuie să faci este să nu mai priveşti toate numerele ca fiind numere zecimale.
În timp ce în sistemul zecimal grupul “10” înseamnă zece, în sistemul binar “10” semnifică 2.
Este încă folositor să gândeşti în sistemul zecimal, din moment ce este încă folosit, dar procesoarele folosesc pentru reprezentarea informaţiei cifrele 0 sau 1 deci ar trebui să ne obişnuim să folosim numerele reprezentate şi în sistemul binar.
Din punct de vedere al terminologiei, sistemul binar diferă de sistemul zecimal şi anume în sistemul binar cifra se numeşte bit, 4 biţi formează o tetradă (prin definiţie tetrada este un sistem alcătuit din 4 componente), două tetrade formează un octet (byte), doi octeţi (bytes) formează un cuvânt (word). Majoritatea numerelor utilizate de mP nu depăşesc această limită.
Revenind la discuţia anterioară, dacă două tetrade formează un byte printr-un calcul simplu se observă că un byte este format din 8 biţi.
Numerele având o lungime mai mare de 4 biţi pot fi reprezentate folosind şi un alt sistem de numeraţie denumit sistemul hexazecimal (hexa) sau baza 16. Are 16 semne posibile cu care se pot forma numerele; primele 10 numere, de la 0 la 9, sunt identice cu numerele din sistemul zecimal, iar următoarele se formează astfel: 10®A, 11®B, 12®C, 13®D, 14®E, 15®F.
Spre deosebire de sistemul zecimal în sistemul hexa adunând 1 la 9 rezultă A.
Ştiu că reprezentând un număr printr-o literă se poate crea confuzie, dar trebuia folosit un simbol şi s-a ales A.
Pentru a clarifica, iată secvenţa de numărare în hexa de la 0 la F: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F (nu şi G). Ajungând la F în hexa (15 în zecimal) şi adăugând o unitate se obţine 10 (o nu … nu încă un grup de cifre 10 care înseamnă altceva!). Trist …dar adevărat.

Să recapitulăm
În sistemul binar, grupul 10 (unu zero) este doi, este zece în zecimal şi şaisprezece în hexa. Dacă poţi înţelege aceasta atunci ai trecut peste partea cea mai grea din procesul de înţelegere al mP.
Mai trebuie să trecem încă un obstacol şi anume ideea de “semnificaţie”.
Într-un număr zecimal ca 123, 3 ocupă poziţia cea mai puţin semnificativă (prima poziţie din dreapta), iar 1 ocupă poziţia cea mai semnificativă (prima poziţie din stânga).
Semnificaţia se referă la valoarea lor relativă, în numărul 123, cifra 3 care ocupă prima poziţie din dreapta este de ordinul unităţilor. Următoarea cifră de la dreapta la stânga (2) este de ordinul zecilor, iar poziţia cea mai semnificativă (ocupată de cifra 1) este de ordinul sutelor.
Să stabilim, indiferent de baza în care lucrezi dacă adaugi o altă poziţie numerică spre stânga, de fiecare dată creşte ordinul de mărime (se multiplică) faţă de cifra situată pe poziţia din dreapta.
De exemplu în numărul zecimal 123 dacă ne referim la cifra 2 care este de ordinul zecilor, aceasta este cu un ordin de mărime mai mare decât cifra 3 situată pe prima poziţie din dreapta (şi este de ordinul unităţilor), iar faţă de cifra 1, care este de ordinul sutelor, este cu un ordin de mărime mai mic. Deci sistemul cunoscut de unităţi, zeci, sute, mii şi aşa mai departe. Din diferite motive, pentru majoritatea oamenilor acest lucru are sens numai în sistemul zecimal, dar nu şi pentru alte sisteme de numeraţie.
De fapt lucrurile sunt asemănătoare şi pentru sistemul binar. Singura diferenţă este baza.
Deci în sistemul binar, bitul (aminteşte-ţi că am stabilit: în binar o cifră este denumită bit) cel mai puţin semnificativ este de ordinul 1 (întâmplător aceeaşi pentru toate bazele). Următorul bit semnificativ este de ordinul 2, următorul de ordinul 4, următorul de ordinul 8 etc.
Fiecare este multiplu de 2 (baza 2) faţă de bitul situat pe poziţia precedentă.
Fiecare cifră din componenţa unui nunăr binar intră în valoarea numărului respectiv cu o pondere dată de puterea bazei. Deci într-un număr binar de 8 biţi (1 byte), pornind de la stânga la dreapta ponderea pentru fiecare din cele opt poziţii este următoarea: 1=20 ,2=21,4=22,8=23,16=24, 32=25, 64=26 şi 128=27.
Dacă ai înţeles acest concept atunci ai trecut cu bine încă o încercare grea şi ai toate motivele să sărbătoreşti. Dacă nu, atunci va trebui să reciteşti paragrafele anterioare şi apoi poţi sărbători evenimentul.
(Apropo, chiar dacă nu ai reuşit din prima încercare, nu fi supărat, alătură-te celor mulţi. Nici eu n-am reuşit din prima încercare).
În hexa, baza 16, se aplică aceleaşi reguli. Într-un număr hexazecimal format din 4 cifre, începând de la dreapta la stânga, prima cifră este de ordinul unităţilor, (la fel ca în zecimal şi binar), următoarea este de ordinul 16 (multiplu de 16 faţă de cifra anterioară), următoarea cifră este de ordinul 256 (16×16) si cifra cea mai semnificativă este de ordinul 4096 (256×16).
O ultimă informaţie, sistemul hexa este similar sistemului binar. Un număr hexa este o tetradă binară, ambele sunt formate din 4 biţi.
Să recapitulăm; toate aceste lucruri la o primă trecere în revistă pot crea confuzii, deci 4 biţi formează o tetradă, sau un cifră hexa, două cifre hexa formează un byte sau 8 biţi în binar.
Un număr format din 4 cifre hexa formează un cuvânt (word), sau 16 biţi în binar, sau 2 bytes.
Pentru a înţelege toate aceste conexiuni ar trebui să parcurgi de mai multe ori paragraful anterior (eu deja am făcut-o), dar cel mai important este ca tu să accepţi şi să înţelegi tot ce am descris pentru ca ceea ce vom folosi în continuare să aibă sens.
Să considerăm câteva numere drept exemplu şi să găsim echivalentul zecimal pentru fiecare dintre ele.
Să începem cu 1011, o tetradă după cum se vede.
Pornind de la dreapta la stânga, 1*20 + 1*21 +0*22 + 1*23 = 11
Deci 1011 în binar este 11 în zecimal şi B în hexa.
Să considerăm un număr binar format din mai multe cifre: 10100101
Pornind de la dreapta la stânga obţinem: 1*20 + 0*21 +1*22 + 0*23 +0*24 + 1*25 +0*26 + 1*27 = 1+4+32+128=165
În hexa numărul 10100101 îl considerăm ca fiind un număr format din două celule hexa 1010 0101 = A5
Deci 10100101 în binar este 165 în zecimal şi A5 în hexa.
Dacă înţelegeţi calculele acestea, atunci sunteţi gata să treceţi mai departe lăsând în urmă diferitele sisteme de numeraţie. Dacă nu, repetaţi şi studiaţi până ce veţi fi siguri. Dacă nu aţi înţeles şi veţi trece mai departe, tot ca va urma va părea confuz. Vă promit că odată ce aţi trecut de acest prag restul va fi uşor.

Am mai terminat o lecţie.
Sper cu nu a fost înfricoşătoare sau dificilă şi mai ales sper că sunt mulţi dintre dumneavoastră care au înţeles-o.
Să înveţi un nou sistem de numeraţie este ca şi cum ai învăţa o limbă străină.
Este obositor la început dar apoi devine obişnuinţă.
• Ioana Enache
– va urma –

S-ar putea să vă placă și

Adaugă un comentariu