Creeaza.com - informatii profesionale despre


Simplitatea lucrurilor complicate - Referate profesionale unice
Acasa » referate » informatica
SISTEME DE NUMERATIE

SISTEME DE NUMERATIE


SISTEME DE NUMERATIE

Notiuni introductive

Componentele structural-functionale elementare ale calculatoarelor electronice sunt astfel construite, incat realizeaza in orice moment una din doua stari posibile. De aceea, sistemul de numeratie zecimal are o aplicabilitate limitata in prelucrarea automata a informatiilor, sistemul de numeratie adecvat particularitatilor constructive ale calculatorului electronic fiind sistemul de numeratie binar. Desi sistemul binar este singurul sistem in care se regasesc fizic informatiile in calculator, el se dovedeste a fi incomod in dialogul dintre operator si calculator, deoarece conduce la reprezentarea informatiilor prin succesiuni lungi si uneori incomode de cifre binare, greu de manevrat de catre utilizator. Pentru evitarea acestor inconveniente, in tehnica de calcul prezinta interes si sistemele cu baza 8 sau 16, care permit o scriere mai condensata a informatiilor exprimate prin succesiuni de cifre binare. Aceste sisteme permit conversia directa si rapida a informatiilor dintr-o baza in alta, deoarece bazele respective sunt de forma 2p, cu p = 1, p = 3 sau p = 4.



Atat sistemul zecimal, cat si sistemele utilizate in tehnica de calcul, sunt sisteme de numeratie pozitionale, caracterizate prin faptul ca valoarea fiecarei cifre din cadrul unui numar depinde de pozitia pe care o ocupa in raport cu virgula, respectiv punctul zecimal, care separa partea intreaga de partea fractionara a numarului.

Un sistem de numeratie se poate caracteriza prin:

multimea cifrelor sale;

regulile de scriere a numerelor si

regulile de calcul.

Un numar real si pozitiv R se poate scrie intr-un sistem de numeratie pozitional cu baza b astfel:

R = xnxn-1xn-2..xi..x2x1x0,x-1x-2..x-m  (1.1.)

unde xi reprezinta cifrele prin care se exprima numarul.

Fiecare cifra trebuie sa satisfaca dubla inegalitate:

xi b - 1  (1.2.)

In structura numarului R distingem partea intreaga I, reprezentata de succesiunea de cifre xnxn-1xn-2.xi..x2x1x0 si partea fractionara F, reprezentata prin 0,x-1x-2.x-m.

Trecerea numerelor dintr-o baza b intr-o baza B se face cu ajutorul a doi algoritmi distincti, algoritmul pentru trecerea partii intregi I, respectiv algoritmul pentru trecerea partii fractionare F a numarului R in baza dorita B.

Algoritmul pentru trecerea partii intregi I a numerelor reale din baza b in baza B consta dintr-o succesiune de pasi prin care numarul initial I, sau caturile succesive obtinute, se exprima ca suma dintre produsul bazei B cu un cat astfel determinat incat restul obtinut sa fie cifra in baza B si restul respectiv. Algoritmul ia sfarsit atunci cand ultimul cat, qk, devine zero. Sirul resturilor obtinute, in ordine inversa obtinerii lor, exprima numarul I in baza B.

Aplicand algoritmul expus obtinem urmatoarea succesiune de relatii:

I = Bq1 + r0 0 ro B - 1

q1 = Bq2 + r1 0 r1 B - 1

q2 = Bq3 + r2 0 r2 B - 1  (1.3.)

qk-1 = Bqk + rk-1 0 rk-1 B - 1

Substituind, din aproape in aproape, valorile succesive ale caturilor in expresia ce reda valoarea lui I, obtinem:

I = Bq1 + r0 = B(Bq2 + r1) + r0 = B2(Bq3 + r2) + Br1 + r0 = .

= Bkqk + Bk-1 rk-1 + Bk-2rk-2 +..+B2r2 + B1r1 + B0r0

Admitand ca qk este zero, valoarea lui I devine:

I = rk-1Bk-1 + rk-2Bk-2 +..+r2B2 + r1B1 + r0B0 (1.4.)

Deoarece valorile r reprezinta cifre in sitemul de numeratie in baza B, fiecare astfel de cifra fiind inmultita cu o putere a bazei B care depinde de pozitia restului in sir, relatia (1.4.) este echivalenta cu:

I = (rk-1rk-2..r2r1r0)B  (1.5.)

ceea ce sustine regula de identificare a cifrelor partii intregi a unui numar trecut din baza b in baza B.

Algoritmul pentru trecerea partii fractionare F a unui numar real din baza b in baza B utilizeaza proprietatea potrivit careia doua numere reale sunt egale intre ele atunci cand ele au partile intregi si partile fractionare egale intre ele. La fiecare pas al aplicarii algoritmului, numarul initial F, sau numerele obtinute ulterior prin neglijarea partilor intregi, se exprima ca un sir de cifre necunoscute in baza B. Egalitatea astfel obtinuta se inmulteste cu baza B, identificandu-se partile intregi obtinute, dupa care se renunta la ele. Fiecare parte intreaga identificata exprima, in ordinea obtinerii, cate o cifra din partea fractionara a numarului F in baza B. Algoritmul ia sfarsit atunci cand se obtine o exprimare suficient de precisa a numarului initial F in baza B.

Sistemul de numeratie binar

Sistemul de numeratie binar opereaza cu cifrele 0 si 1. El este de fapt singurul sistem utilizat efectiv in prelucrarea automata a datelor si este perfect adecvat particularitatilor structural-functionale ale componentelor elementare ale calculatorului.

Evaluarea unui numar binar este echivalenta cu trecerea lui in sistemul de numeratie zecimal si se realizeaza exprimand valoarea fiecarei cifre a numarului prin inmultirea ei cu baza 2 la o putere stabilita de pozitia cifrei fata de punctul zecimal. Astfel, numarul 11011.0112 poate fi evaluat dupa cum urmeaza:

11011.0112 = 1*24 + 1*23 + 0*22 + 1*21 + 1*20 + 0*2-1 + 1*2-2 + 1*2-3 = 27.37510

Pentru trecerea unui numar din baza 10 in baza 2 se aplica cei doi algoritmi prezentati mai sus.

Fie: R = 45.62510

Pentru trecerea partii intregi a numarului R in baza 2 vom parcurge urmatoarele calcule:

+ 1

5 = 2*2 + 1

2 = 2*1 + 0

1 = 2*0 + 1

Rezulta ca 4510 = 1011012. Pentru verificare, avem :1011012 = 1*25 + 1*23 + 1*22 + 1*20 = 4510.

Pentru obtinerea partii fractionare in baza 2 vom proceda la inmultiri succesive cu baza 2, conform celui de-al doilea algoritm expus:

0.625 = 0.x-1x-2x-3

1.25 = x-1.x-2x-3 T x-1 = 1

0.25 = 0.x-2x-3x-4.

0.5 = x-2.x-3x-4.. T x-2 = 0

0.5 = 0.x-3x-4x-5

1.0 = x-3.x-4x-5.. T x-3 = 1

Deci, 0.62510 = 0.1012, iar numarul initial R = 45.62510 se exprima ín binar sub forma 101101.1012.

Operatii aritmetice in baza 2

Regulile de calcul utilizate in sistemul de numeratie binar sunt:

Aplicatie

Fie A = 1101.101 si B = 111.011. Sa se calculeze valorile X = A + B; Y = A - B; Z = A*B si sa se verifice B = Z : A.

1101.101 + 1101.101 -

111.011 111.011

X = 10101.000 Y = 110.010

Z = 1101.101 * B = 1100100.011111 : 1101.101 = 111.011

111.011 110110 1

1101101 101101 11

1101101 11011 01

1101101 10010 101

1101101 1101 101

1101101 101 00011

Z = 1100100.011111 11 01101

1 101101

1 101101

0 000000

Sistemul de numeratie hexazecimal

Sistemul de numeratie hexazecimal permite scrierea concentrata a sirurilor lungi de cifre binare, deoarece fiecare cifra hexazecimala exprima continutul a patru cifre binare.

In sistemul hexazecimal, cu baza 16, cifrele utilizate sunt 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E si F. Ultimele cinci cifre au valorile 10, 11, 12, 13, 14 si 15.

Regulile de scriere a numerelor in hexazecimal sunt specifice sistemelor pozitionale. Astfel, valoarea in zecimal a numarului A0B.4816 este: 10*162 + 11*160 + 4*16-1 + 8*16-2 = 2571.28125.

Echivalentul binar al cifrelor din sistemul

de numeratie hexazecimal

Tabelul 1.1.

Cifra hexazecimala

Echivalentul binar

A

B

C

D

E

F

Trecerea numerelor reale din sistemul zecimal in cel hexazecimal se poate face cu ajutorul celor doi algoritmi cunoscuti. Astfel, pentru trecerea numarului 45.62510 in baza 16 se procedeaza astfel:

45 = 16*2 + D

2 = 16*0 + 2

0.625 = 0.x-1x-2x-3..

A.0 = x-1.x-2x-3Tx-1 = A

obtinandu-se valoarea 2D.A. In anumite situatii, desi numarul initial are un numar finit de cifre in partea fractionara, numarul convertit intr-o noua baza are un numar nesfarsit de cifre in partea fractionara. Astfel, numarul 329.57510 conduce la valoarea hexazecimala 149.93333

Tabela adunarii in hexazecimal

Tabelul 1.2

A

B

C

D

E

F

A

B

C

D

E

F

A

B

C

D

E

F


A

B

C

D

E

F

A

B

C

D

E

F

A

B

C

D

E

F

A

B

C

D

E

F

A

B

C

D

E

F

A

B

C

D

E

F

A

B

C

D

E

F

A

B

C

D

E

F

A

A

B

C

D

E

F

B

B

C

D

E

F

1A

C

C

D

E

F

1A

1B

D

D

E

F

1A

1B

1C

E

E

F

1A

1B

1C

1D

F

F

1A

1B

1C

1D

1E

Avantajul sistemului de numeratie hexazecimal consta in posibilitatea trecerii directe a numerelor din baza 2 in baza 16 si invers, cu ajutorul echivalentelor evidentiate in tabelul 1.1. Astfel, numarul CAFEA.38C16 se exprima in binar sub forma 11001010111111101010.001110001100.

Pentru trecerea directa din binar in hexazecimal, se constituie spre stanga si spre dreapta virgulei, grupe de cate patru cifre binare, grupele incomplete completandu-se cu zerouri spre stanga sau spre dreapta. Fiecare grupa astfel constituita se substituie cu cifra hexazecimala dedusa din tabelul 1.1. Pentru ilustrarea modului de lucru, sa consideram numarul binar:

100110101000111101.1101010111.

Constituirea grupelor de cate patru cifre binare conduce la structura:

echivalenta cu 26A3D.D5C.

Tabela inmultirii in hexazecimal

Tabelul 1.3

A

B

C

D

E

F

A

B

C

D

E

F

A

C

E

1A

1C

1E

C

F

1B

1E

2A

2D

C

1C

2C

3C

A

F

1E

2D

3C

4B

C

1E

2A

3C

4E

5A

E

1C

2A

3F

4D

5B

7O

1B

2D

3F

5A

6C

7E

A

A

1E

3C

5A

6E

8C

B

B

2C

4D

6E

8F

9A

A5

C

C

3C

6C

9C

A8

B4

D

D

1A

4E

5B

8F

9C

A9

B6

C3

E

E

1C

2A

7E

8C

9A

A8

B6

C4

D2

F

F

1E

2D

3C

4B

5A

A5

B4

C3

D2

E1

Calculele in sistemul hexazecimal se realizeaza cu ajutorul regulilor prezentate ín tabelele 1.2 si 1.3.





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.