Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica


Informatica


Qdidactic » stiinta & tehnica » informatica
Reprezentarea numerelor



Reprezentarea numerelor


Reprezentarea numerelor

1.1      Introducere

Procesele reglate contin semnale analogice, in timp ce semnalele regulatoarelor sunt numerice. In consecinta, conversia semnalelor este esentiala pentru conectarea componentelor analogice si numerice in acelasi sistem. De exemplu, semnalul de iesire al unui dispozitiv analogic trebuie convertit in semnal numeric inainte de a fi prelucrat de regulatorul numeric si convertit apoi intr-un semnal analogic cu un convertor analog - numeric CAN. In acelasi fel, semnalul de la iesirea regulatorului numeric trebuie convertit in semnal analogic inainte de afi trimis unui dispozitiv analogic cu un convertor numeric - analogic CNA. De obicei se efectueaza anumite operatii inainte de conversia analog - numerica (filtrare) si dupa conversia numeric - analogica (o netezire). Alte operatii necesare pentru conectarea echipamentelor sunt multiplexarea si esantionarea.



Definitiile acestor operatii sunt urmatoarele:

  • convertorul numeric - analogic, (CNA). CNA converteste semnalul numeric de la intrare in semnal analogic, de regula o tensiune sau un current. CNA este necesar pentru a conecta un regulator numeric la un dispozitiv analogic,
  • convertorul analog - numeric, (CAN). CAN converteste semnalul analogic de la intrare, in semnal numeric. CAN este necesar pentru pentru a conecta un dispozitiv analogic la un regulator numeric,
  • multiplexorul. Cand semnalele din mai multe surse trebuie prelucrate de acelasi procesor, se utilizeaza un multiplexor pentru a cupla semnalele la processor intr-o anumita ordine. In acest mod procesorul este partajat de semnalele de intrare,
  • dispozitivul de esantionare si retinere ER face achizitia unui semnal analogic si apoi il mentine valoarea semnalului constanta pana la urmatoarea achizitie. ER este o parte a CAN. 

Un sistem de reglare tipic este cel din Figura 1.

Figura 1 . Sistem de reglare.

1.2      Reprezentarea numerelor naturale

Un numar natural se reprezintǎ ca o colectie de cifre intr-o anumita baza. In sistemul pozitional, pozitia unei cifre determina ponderea cifrei in marimea numarului.

Baza 10

In sistemul zecimal (baza 10) cifrele bazei sunt

Baza 10 =

Fie numarul

Un numar cu n cifre in baza 10, are valoarea

Rangul i al coeficientului ai este exponentul puterii lui 10. a0 este cifra cea mai putin semnificativa a numarului, an-1 este cifra cea semnificativa a numarului.

Baza r

Fie r un numar natural > 1. Cifrele bazei r sunt

Baza r =

Fie numarul natural

unde: r > 1 este baza, n este numarul de cifre, iar ai este cifra de pe pozitia i Marimea numarului natural corespunzator este

                (1)

unde .

Numerele naturale reprezentate cu n cifre intr-o baza r oarecare au valori cuprinse in intervalul [0  rn-1].

Baza 2

In sistemul binar, (baza 2), cifrele bazei sunt

Baza 2 =

Cifrele sistemului binar, 0 si 1, se numesc biti.

Un numar natural se reprezinta in baza 2 cu n biti

N = (an-1 an-2 . a1 a0)

unde cifrele a0, a1, ., an-1 sunt 1 sau 0. Vom spune ca an-1 este bitul cel mai semnificativ, (most significant bit, MSB), iar a0 este bitul cel mai putin semnificativ, (least significant bit, LSB). Cifra ai este coeficientul lui 2i. Numarul N este deci

Exista urmatoarele notatii :

210 = 1024 = 1K

220 = 1M

230 = 1G

In calculatoare, numerele intregi sunt reprezentate in baza 2.

Baza 8

In sistemul octal, (baza 8), cifrele bazei sunt

Baza 8 =

Baza 16

In sistemul hexazecimal (baza 16), cifrele bazei sunt

Baza 16 =

unde: A=10, B=11, C=12, D=13, E=14 si F=15.

Numarul

are valoarea

1.3      Conversia zecimal - binara

Fie un numǎr natural reprezentat in sistemul binar

In partea dreapta avem un polinom de puteri ale lui 2. Coeficientul este 0 sau 1. Din expresia de mai sus a numǎrului se observǎ cǎ cifrele , etc., se pot obtine ca resturile impǎrtirilor repetate ale numarului N cu 2. Vom nota cu , , , caturile impartirilor repetate la 2 si cu , , , resturile impartirilor repetare la 2 ale numarului N. Vom nota

si vom scrie numarul N ca

unde este catul impartirii lui la 2, iar este restul impartirii lui la 2. Comparand cu expresia lui N de mai sus deducem:

adica , ultima cifra a numarului N convertit in binar, este chiar primul rest . Vom scrie catul ca

de unde deducem:

Dupǎ n astfel de operatii vom avea:

unde:

Algoritmul se opreste atunci cand . Dupa cum se observǎ, resturile obtinute reprezintǎ chiar cifrele numǎrului binar, primul rest este cifra cea mai putin semnificativa a numarului binar.

Exemplu. Sǎ convertim numarul 14 din baza 10 in baza 2. Prin impartiri repetate la 2 obtinem caturile si resturile din tabelul de mai jos.


si

si

si

si


Reprezentarea numǎrului 14 in binar este:

Conversia din baza 10 in baza 8 sau 16 se face prin impǎrtiri repetate cu 8 si respectiv 16.


1.4      Conversia intre bazele 2, 8 si 16

Avand un numar in baza 2, pentru reprezentarea sa in baza 16 se grupeaza cate 4 cifre binare care se convertesc intr-o cifra hexazecimala.

Exemple.

(1100)2 = (C )16 = (12)10

Avand un numǎr in baza 2, pentru reprezentarea in baza 8 se grupeaza cate 3 cifre binare care se convertesc intr-o cifra octala.

Exemplu.

Pentru verificare

Conversia unui numar din baza 16 in baza 2 se face reprezentand fiecare cifrǎ hexazecimalǎ prin 4 cifre binare.

Exemplu.


(A4)16 = (1010 0100)2

Conversia unui numǎr din baza 8 in baza 2 se face convertind fiecare cifrǎ octalǎ in 3 cifre binare.

Exemplu.

(63)8 = (110 011)2

1.5      Numararea binara

Fie un numarator binar cu k biti. Numarul N ce se poate reprezenta este cuprins in intervalul [0 2k-1]. In consecinta, un numarator binar evolueaza dupa regula N modulo 2k, adica dupa valoarea 2k-1 urmeaza valoarea 0. De exemplu, un numarator binar cu 2 biti evolueaza astfel

00, 01, 10, 11, 00, 01, .


1.6      Reprezentarea numerelor intregi

Pentru a reprezenta numere cu semn, bitul cel mai semnificativ va fi bitul de semn, si va avea valoarea 0 pentru numere pozitive si 1 pentru numere negative.

Exista trei reprezentǎri ale numerelor binare cu semn, in marime si semn, in complement fata de 1 si in complement fata de 2.

Reprezentarea in mǎrime si semn

Fie X un numar intreg. Numarul se reprezinta cu bitul de semn dupa regula de mai sus, urmat de valoarea absoluta a numarului.

Un numǎr pozitiv  X se reprezintǎ in marime si semn ca:

Un numǎr negativ -X se reprezintǎ in marime si semn ca:

Bitii numarului sunt aceiasi, pentru numar pozitiv sau negativ, difera doar bitul de semn.

Exemple. Vom considera numere intregi reprezentate pe 8 biti in marime si semn, un bit de semn si 7 biti ai numǎrului:


Numar zecimal

Reprezentare binarǎ

Reprezentare hexazecimalǎ

13

0000 1101

0D

-13

1000 1101

8D

25

0001 1001

19

-7

1000 0111

87

127

0111 1111

7F

-127

1111 1111

FF


Gama numerelor intregi reprezentabile pe un octet in mǎrime si semn este [-127, 127].

Putem scrie formula de reprezentare a numerelor binare in mǎrime si semn ca:

unde coeficientul are valoarea 0 sau 1. Primul bit va fi interpretat ca si coeficientul lui . Reprezentarea in marime si semn este rar folosita in calculatoare.

Reprezentarea in complement fatǎ de 1

Fie N un numar natural reprezentat in baza r si fie  cifrele numarului. Complementul unei cifre a numarului in baza r - 1 este

r - 1 -

Reamintim ca cifrele bazei r sunt .

Numarul N este reprezentat in complement fata de r - 1 complementand fiecare cifra a numarului fata de r - 1. De exemplu, un numar binar se complementeaza fata de 1 complementand fiecare cifra binara fata de 1, un numar hexazecimal se complementeaza fata de 15 complementand fiecare cifra hexazecimala fata de 15, etc.

Un numǎr pozitiv X se reprezintǎ in complement fatǎ de 1 ca:

Un numǎrul negativ -X se reprezintǎ in complement fatǎ de 1 ca:

unde: este complementul fata de 1 al cifrei . Pentru a reprezenta un numǎr negativ in complement fatǎ de 1 complementǎm toate cifrele numarului pozitiv fata de 1. Complementarea fata de 1 a unei cifre binare inseamna modificarea cifrei 1 in 0 si a cifrei 0 in 1. Reprezentarea unui numar negativ in complement fata de 1 se face modificand toate cifrele numarului pozitiv din 1 in 0 si din 0 in 1, inclusiv bitul de semn.

Exemple de numere reprezentate in complement fatǎ de 1 pe un octet.


Numar zecimal

Reprezentare binarǎ

Reprezentare hexazecimalǎ

15

0000 1111

0F

-15

1111 0000

F0

-19

1000 1100

8C

19

0001 0011

13


Reprezentarea in complement fata de 1 nu se foloseste in calculatoare.

Reprezentarea numerelor binare in complement fatǎ de 2

Fie un numar natural N reprezentat in baza r cu n cifre. Complementul fata de r al numarului N este

In consecinta, complementul fata de 2 al unui numar binar cu n cifre este

iar complementul fata de 16 al unui numar hexazecimal cu n cifre este

Un numar pozitiv X se reprezintǎ in complement fatǎ de 2 ca:

Un numar negativ -X se reprezintǎ in complement fatǎ de 2 ca:

unde:

Complementul fata de doi al unui numar binar se obtine in felul urmator :

toate cifrele nule de la dreapta numarului raman nemodificate,

prima cifra nenula de la dreapta se complementeaza fata de doi,

restul cufrelor numarului se complementeaza fata de 1.

Aceeasi regula se aplica si numerelor reprezentate in baza 16:

toare cifrele nule de la dreapta numarului raman nemodificate,

prima cifra nenula de la dreapta se complementeaza fata de 16,

restul cufrelor numarului se complementeaza fata de 15.

Exemple de numere reprezentate in complement fatǎ de 2 pe un octet.


Numar zecimal

Reprezentare binarǎ

Reprezentare hexazecimalǎ

13

0000 1101

0D

-13

1111 0011

F3

7

0000 0111

07

-7

1111 1001

F9

10

0000 1010

0A

-10

1111 0110

F6

127

0111 1111

7F

-127

1000 0001

81

48

0011 0000

30

-48

1101 0000

D0


Mentionǎm cǎ in calculatoare numerele intregi se reprezintǎ in general in complement fatǎ de 2.

De regula, numerele cu semn se reprezinta in complement fata de 2 pe n biti astfel. Bitul cel mai semnificativ este bit de semn dupa regula de mai sus. Fie X un numar intreg pozitiv.

numarul X se reprezinta in complement fata de 2 ca numarul X reprezentat in baza 2,

numarul -X se reprezinta in complement fata de 2 ca numarul 2n - X reprezentat in baza 2.

Tabelul 1 arata numere intregi cu semn reprezentate pe 3 biti in complement fata de doi si in marime si semn. Bitul cel mai semnificativ este bitul de semn.


Numar intreg in baza 10

Numar intreg in complement fata de 2

Numar intreg in marime si semn

3

011

011

2

010

010

1

001

001

0

000

000

-1

111

101

-2

110

110

-3

101

111

-4

100


Tabelul 1 . Numere intregi cu semn pe 3 biti in complement fata de 2 si in marime si semn.

Reprezentarea numerelor intregi pe n biti in complement fata de doi are urmatoarele proprietati:

valoarea 0 se reprezinta ca (00. 00),

valoarea -1 se reprezinta ca (11.11),

cel mai mare numar pozitiv ce se poate reprezenta pe n biti este 2n-1-1, (011.11)

cel mai mic numar negativ ce se poate reprezenta pe n biti este -2n-1, (100.00).

Exercitiu. Sa se reprezinte toate numerele intregi cu semn pe 4 biti in complement fata de doi si in marime si semn.

1.7      Deplasarea numerelor binare cu semn

Inmultirea unui numǎr binar cu semn cu sau este echivalentǎ cu deplasarea numǎrului binar la stanga sau la dreapta cu o cifra. La deplasarea numarului binar, bitul de semn rǎmane neschimbat.

Cazul numerelor pozitive

Se deplaseazǎ toate cifrele numarului, iar cifrele adaugate sunt zerouri. Regula este evidentǎ din formula de reprezentare a numerelor pozitive. Fie numarul pozitiv

si numarul inmultit cu doi


de unde se deduce:

Am presupus cǎ prin inmultirea cu 2 a numǎrului X nu apare depǎsire. In acelasi fel se aratǎ cǎ regula este valabilǎ pentru impǎrtirea cu 2.

Exemple. Deplasarea numarului 28 cu o cifrǎ binarǎ la dreapta si la stanga.


Numar zecimal

Numar binar

Numar hexazecimalǎ

28

0001 1100

1C

14

0000 1110

0E

56

0011 1000

38


Numere negative reprezentate in complement fatǎ de 2

Regula de inmultire a acestor numere cu sau este urmǎtoarea:

  • la deplasarea la stanga cifrele adǎugate sunt zerouri,
  • la deplasarea la dreapta cifrele adaugate sunt unuri,
  • reamintim ca bitul de semn rǎmane neschimbat.

Regula deplasarii numerelor intregi reprezenate in complement fata de 2 se poate enunta astfel :

la deplasarea la stanga cifrele adǎugate sunt zerouri,

la deplasarea la dreapta se propaga bitul de semn.

Exemplu. Deplasarea numarului -28 cu o cifrǎ binarǎ la dreapta si la stanga.


Numǎr zecimal

Numǎr binar

Numǎr hexazecimal

-28

1110 0100

E4

-14

1111 0010

F2

-56

1100 1000

C8

1.8      Reprezentarea numerelor reale in virgula mobila

Numerele reale se reprezintǎ in calculator in virgulǎ mobilǎ. Numarul real R este pus sub forma

unde: f este un numar subunitar (mantisa), b este baza iar e este exponentul. Pentru exemplificare vom considera baza zece.

Exemple de reprezentare a numerelor reale.


0.3245

2


-0.35

-1

Mantisa f are totdeauna un numar finit de cifre si in plus

In continuare, pentru exemplificare vom considera cǎ mantisa are 8 cifre. Deoarece mantisa are un numǎr finit de cifre, in unele cazuri se pierd cifrele mai putin semnificative din numǎr.

Exemplu. Numǎrul

se reprezintǎ ca:

Pentru mǎrirea preciziei calculelor se cautǎ ca prima cifra din mantisǎ sǎ fie diferitǎ de zero (vezi exemplul de mai sus). Numerele in aceasta forma se numesc normalizate.

1.8.1     Reprezentarea numerelor subunitare in baza 2

Cifrele bazei 2 sunt . Numarul subunitar este reprezentat ca o suma de puteri negative ale lui 2.

Exemple.

Conversia numerelor subunitare din baza 10 in baza 2

Regula de convertire a unui numar subunitar din baza 10 in baza 2 este urmatoarea.

Se inmulteste repetat numarul subunitar cu 2 si se retine partea intreaga. (partea intreaga este 0 sau 1). Cifrele retinute sunt cifrele numarului subunitar in baza 2. Inmultirea se continua pana cand numarul subunitar devine 0, sau pana cand s-a obtinut numarul de cifre necesare. Prima cifra retinuta este cifra cea mai semnificativa a numarului subunitar.

Exemplu.

Aplicam regula de mai sus

0.375 * 2 = 0.75

0.75 * 2 = 1.5

0.5 * 2 = 1.0

Partea intreaga este formata din cifrele 0, 1, 1. Dupa ultima inmultire, partea subunitara a devenit 0.

Exista numere subunitare cu un numar finit de cifre in baza 10 care nu se pot reprezenta exact cu un numar finit de cifre in baza 2.

Exemplu. Fie numarul (0.4)10

0.4 * 2 = 0.8

0.8 * 2 = 1.6

0.6 * 2 = 1.2

0.2 * 2 = 0.4

0.4 * 2 = 0.8

0.8 * 2 = 1.6


Avem rezultatul convertirii

deci numarul (0.4)10 se reprezinta in baza 2 ca un numar periodic cu perioada 0110. Deoarece in calculator se retine un  umar finit de cifre, (0.4)10 nu se poate reprezenta exact in baza 2.

Conversia numerelor subunitare din baza 10 in baza 16 se face prin inmultirea repetata cu 16 si retinem partea intreaga intr-o cifra hexazecimala.

Exemplu. Fie din nou numarul (0.4)10

0.4 * 16 = 6.4

0.4 * 16 = 6.4


Avem rezultatul convertirii

(0.4)10 = (0.6666...)16

1.8.2     Reprezentarea numerelor reale in virgula fixa

Numerelor reale se pot reprezenta in virgula fixa considerand o virgula fictiva ce desparte partea intreaga de cea fractionara.  Fie de exemplu numere reale reprezentate pe 8 biti unde bitul cel mai semnificativ este bit de semn, partea intreaga ocupa 4 biti, partea subunitara 3 biti.


Numarul R = 01011.101 este 11.625

Numerele intregi pot fi considerate ca reprezentate in virgula fixa daca virgula se considera dupa ultima cifra binara, a0, ca mai jos.

In general, vom fi interesati de reprezentarea numerelor subunitare, unde N are forma

N = a-1 x 2-1 + a-2 x 2-2 + . + a-n 2-n

In acest caz se considera ca virgula este situata inainte de prima cifra. Tabelul 2 arata numere fractionare reprezentate in cod binar pe 3 biti.


Numar fractionar

a-1 a-2 a-3

0

000

0

1/8

001

1/8

2/8

010

2/8

3/8

011

3/8

4/8

100

4/8

5/8

101

5/8

6/8

110

6/8

7/8

111

7/8

Tabelul 2 . Numere fractionare reprezentate in cod binar.

Un dezavantaj al reprezentarii numerelor in virgula fixa este acela ca gama numerelor ce se pot reprezenta este mica.

1.8.3     Reprezentarea numerelor reale in virgula mobila in baza 2

Reprezentarea numerelor in virgula mobila In baza 2 se face convertind numarul in baza 2 (partea intreaga si cea subunitara se convertesc separat, ca mai sus) si se pune numarul sub forma

unde mantisa m este un numar subunitar, iar exponentul e este puterea lui 2 ce inmulteste mantisa. De regula, se cauta ca primul bit din mantisa sa fie 1. In acest caz avem

0.5 <= m < 1

In acesta reprezentare exista un bit de semn pentru mantisa si alt bit de semn pentru exponent. Fie de exemplu numere reprezentate pe un octet, cu mantisa 5 biti si exponentul 3 biti ca mai jos.


Numarul


0

1

1

0

1

0

1

1

este

Exponentul arata cu cate pozitii va fi deplasat punctul binar la dreapta (e > 0) sau stanga (e < 0) pentru a obtine numarul binar initial fara exponent. Presupunem ca mantisa are m biti, inclusiv semnul, iar exponentul e biti (inclusiv semnul). Numarul maxim ce se poate reprezenta este

iar numarul minim este

1.8.4     Standardul IEEE de reprezentare a numerelor reale in virgula mobila

In calculatoarele personale numerele reale se reprezintǎ in virgulǎ mobilǎ in felul urmǎtor

R = ± 1.m * 2 c

Valoarea subunitara m va fi numita mantisa. Notam exponentul numarului real cu e. Domeniul exponentului este [-127, 127]. La exponent se adaugǎ totdeauna valoarea 127, pentru a nu avea doua semne, unul pentru mantisa si altul pentru exponent. Notam e + 127 = c. Valoarea c  se numeste caracteristica si are domeniul [0,254].

Bitul de semn are totdeauna valoarea 0 pentru numere pozitive si 1 pentru cele negative.

In reprezentarea in virgulǎ mobila scurtǎ (simpla precizie) numǎrul se reprezinta pe 32 biti. Bitul de semn ocupa bitul 31, exponentul ocupǎ bitii 23-30 iar mantisa bitii 0-22. Gama numerelor reale ce se pot reprezenta in acest format este

iar mantisa corespunde la opt cifre zecimale.

Exemple. Fie numarul . Bitul de semn este zero, m = 0, iar c = 0+127. In consecinta, primii noua biti din numar sunt

001111111

Numarul R va fi reprezentat in hexazecimal ca 3F800000.

Fir numarul . Bitul de semn este zero, m = 0, iar c = -1+127=126. Primii noua biti din numar sunt

001111110

Numarul se reprezinta in hexazecimal ca 3F000000.


Numar

Semn

Caracteristica

Mantisa

Numar in v.m

1

0

011 11111

000 0000 ..

0x3F800000

-1.375

1

011 11111

011 0000 ..

0xBFB00000

0

0

000 0000 0

000 0000 ..

0x00000000

-3.75

1

100 0000 0

111 0000 ..

0xC0E00000


Mentionǎm cǎ dacǎ exponentul este 255 iar mantisa este 0, numarul este Dacǎ exponentul este 255 si mantisa este diferitǎ de zero numarul este NaN (not a number). Valoarea NaN apare atunci cand efectuǎm urmatoarele operatii :

sau cand un operand este NaN.

In reprezentarea in virgulǎ mobila lungǎ (dublǎ precizie) numǎrul se reprezinta pe 64 biti. Domeniul exponentului este [-1023, 1023]. La exponent se adaugǎ cantitatea 1023, deci exponentul are domeniul [0, 2046]. Bitul de semn este bitul 63, exponentul ocupǎ bitii 52-62 iar mantisa ocupa bitii 0-51. Gama numerelor reale ce se pot reprezenta in dubla precizie este

1.9      Alte coduri binare

1.9.1     Codul BCD

In codul BCD fiecare cifra zecimala este codificata in binar pe 4 biti.

Exemplu.

1.9.2     Codul Gray

Fie numere in cod binary pe 3 biti

0 0 0

0 0 1

0 1 0

0 1 1

1 0 0

....

Se observa ca, la adunarea unei unitati la un numar, mai multi biti isi schimba starea. De exemplu, la trecerea de la numarul 0 1 1 la numarul 1 0 0 toti cei 3 biti isi schimba starea. In anumite dispozitive este imposibil ca doi sau mai multi biti sa-si schimbe starea simultan. Este nevoie de un alt cod, la care la adunarea unei unitati sa se modifica un singur bit. Acest cod este codul Gray. Pentru 3 biti avem cifrele

0 0 0

0 0 1

0 1 1

0 1 0

1 1 0

1 1 1

1 0 1

1 0 1

Codul Gray se pe n biti se genereaza din codul Gray pe n - 1 biti.

Fie codul Gray pe 1 bit

0

1

Codul Gray pe 2 biti se genereaza din codul Gray pe un bit prin reflexie si apoi se adauga ca prim bit un bit 0 la codul pe un bit si un bit 1 la codul reflectat.

0 0 0

1 0 1

.. ...

1 1 1

0 1 0

Codul Gray pe trei biti se genereaza din codul pe doi biti astfel:


0 0 0 0 0

0 1 0 0 1

1 1 0 1 1

1 0 0 1 0

... ....

1 0 1 1 0

1 1 1 1 1

0 1 1 0 1

0 0 1 0 1

Rezulta codul Gray pe 3 biti de mai sus.




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright