Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AstronomieBiofizicaBiologieBotanicaCartiChimieCopii
Educatie civicaFabule ghicitoriFizicaGramaticaJocLiteratura romanaLogica
MatematicaPoeziiPsihologie psihiatrieSociologie


Operatii cu numere reprezentate in diferite forme de reprezentare

Matematica



+ Font mai mare | - Font mai mic



Operatii cu numere reprezentate in diferite forme de reprezentare



Adunarea si scaderea numerelor binare

reprezentate in complement fata de 2 si fata de 1.

Introducem 2 notiuni:

transport spre cifra de semn.

transport din cifra semn.

In cazul numerelor fara semn nu poate apare decit cazul depasirii capacitatii, spre deosebire de numerele cu semn cind pot apare ambele situatii. Este evident ca adunarea sau scaderea a doua numere cu acelasi semn trebuie sa conduca la un rezultat avind acelasi semn cu al operanzilor, in caz contrar aparind depasirea capacitatii de reprezentare (overflow). Deci depasirea (transportul din cifra semn) apare numai in cazul operatiilor cu numere avind acelasi semn.

Operatii in complement fata de 2

Operatiile cu numere binare se fac bit cu bit de la dreapta spre stinga. Scaderea este un caz particular de adunare, conform relatiei:

A - B = A + (-B)

Ca urmare, este suficient pentru realizarea scaderii sa adun la descazut, complementul fata de 2 al scazatorului. Daca rezultatul este negativ, el este obtinut in complement fata de 2 si pentru aflarea rezultatului final se aplica inca o data complementul fata de 2

Observatie: In calculul complementului fata de 2 al numerelor cu semn, semnul se pastreaza (cifra semn nu intra in complementare) !!

Ex: consideram numere cu semn pe octet: deci un bit de semn, 7 biti de date, numerele maxime fiind -127, respectiv 127.

6 (0)0110+

(0)1000

----------

(0)1110

100+30 = 64h+1eh (0)1100100+

(0)0011110

----------

transport->(0)(1)0000010 --> depasire, rezultat negativ incorect

-33-48=(-21h)+(-30h) (-21h) (1)1011111+

(-30h) (1)1010000

-----------

transport->(1)(1)10101111 --> rezultat negativ, corect, obtinut in complement fata de 2. In final, prin complementare, se obtine: 11010001= -51h

-120-30=(-78h)+(-1eh) (-78h) (1)0001000+

(-1eh) (1)1100010

----------

transport-> (1)(0)1101010 --> depasire, rezultat pozitiv incorect

Observatii:

- intre paranteze am inclus cifra care semnifica transportul si cifra semn a numerelor

Putem stabili 2 metode de detectare a depasirii (overflow):

a) daca consideram cifra semn ca fiind doua cifre binare (00->'+' si 11->'-') putem semnala depasire la adunarea sau scaderea a doua numere cu acelasi semn prin difererentierea celor 2 biti in cifra semn (01 sau 10 semnifica depasire)

b) depasirea apare atunci cind am fie transport spre cifra semn si nu am CY, fie cind am CY si nu am transport spre cifra semn. Putem stabili urmatoarea relatie intre depasire (OV), transport in afara capacitatii (CY) si semn (S): OV = CY _ S = CY XOR S

Avantajele utilizarii codului complementar fata de 2:

- bitii de semn se sumeaza identic;

- rezultatul se obtine printr-o singura operatie;

- se poate substitui scaderea printr-o adunare.

Operatii in complement fata de 1

In acest caz operatiile se fac la fel ca si anterior, insa operanzii sunt exprimati in complement fata de 1.

Adunarea a doua numere negative

A=2n-a -1    A+B= 2n-(a+b)+2n -1-1

B=2n-b -1

Rezultatul corect este 2n-(a+b)-1, deci se elimina 2n -1. Eliminarea acestui bit este echivalenta cu adunarea transportului (CY) din rengul semnului (2n) la bitul cel mai putin semnificativ.

(0)0101+

(0)0111

-----------

(0)1100 rezultat corect

+8+(+9) (0)1000+

(0)1001

-----------

(1)0001 eroare (rezultatul este un numar negativ)

Scaderea in complement fata de 1, poate fi inlocuita printr-o suma intre descazut si codul complementar fata de 1 al scatatorului. Se aduna apoi eventualul transport din rangul semnului la pozitia LSB.

-33-48=(-21h)+(-30h) (-21h) (1)1011110+

(-30h) (1)1001111

-----------

transport->(1)(1)0101101 +

1

----------

(1)0101110 --> rezultat negativ, corect, obtinut in complement fata de 1. In final, prin complementare, se obtine: (1)1010001= -51h

-120-30=(-78h)+(-1eh) (-78h) (1)0000111+

(-1eh) (1)1100001

----------

transport-> (1)(0)1101000 +

1

----------

(0)1101001 --> depasire, rezultat pozitiv incorect

Toate observatiile anterioare privind detectarea depasirii sunt valabile si aici, dar se observa dezavantajul recircularii transportului.

Avantajele utilizarii codului complementar fata de 1:

a) Operatiile respecta aceleasi reguli ca si operatiile in complement fata de 2, inclusiv sesizarea depasirii capacitatii de reprezentare, cu conditia de a efectua corectia rezultatului prin adunarea transportului la ultimul rang LSB.

b) Sesizarea depasirii capacitatii de reprezentare se poate face si prin sesizarea momentului cand adunand doua numere de acelasi semn se obtine un rezultat de semn opus.

c) Scaderea este aceeasi ca si la numerele reprezentate in complement fata de 2.

Dezavantaje:

Necesitatea efectuarii unei operatii in plus (corectia rezultatului).

Operatii cu numere in reprezentate in virgula mobila

Adunarea si scaderea a doua numere in virgula mobila se efectueaza astfel:

se compara cei doi exponenti pentru a-l determina pe cel mai mare;

se aliniaza mantisa numarului cu exponentul mai mic, prin deplasarea virgulei corespunzator exponentului mai mare;

se aduna (scad) mantisele aliniate atribuind exponentul comun;

se normalizeaza mantisa, eventual, concomitent cu modificarea exponentului.

Exemplu: Sa se efectueze suma numerelor zecimale si in virgula mobila, cu mantisa normalizata (subunitara), baza de reprezentare fiind 2.

,

Deoarece are exponentul mai mare, se va alinia corespunzator:

Nu este necesara normalizarea mantisei.

Deci .

Operatiile de inmultire si impartire presupun:

adunarea (scaderea) exponentilor;

inmultirea (impartirea) mantiselor;

eventuala normalizare a mantisei.

Exemplu: Sa se efectueze in virgula mobila inmultirea numerelor zecimale , .

,

.



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1752
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved