Exista patru cazuri care pot aparea la adunarea numerelor binare cu semn:
Numerele au reprezentare in complement fata de 2. Rezultatul trebuie sa aiba acelasi semn cu al operanzilor.
Exemplu:
| |
Exemplu:
Transport 1 |
Transportul de la bitul cel mai semnificativ este descarcat (ignorat).
Exemplu:
Suma este negativa deci exprimata in complement fata de 2.
Exemplu:
Transport 1 |
Transportul de la bitul cel mai semnificativ este descarcat (ignorat). Suma este negativa deci exprimata in complement fata de 2.
Intr-un calculator numerele negative sunt pastrate in complement fata de 2 deci procesul de adunare este foarte simplu. Se aduna cele doua numere si se neglijeaza transportul de la bitul cel mai semnificativ.
Cand se aduna doua numere si numarul de biti necesari pentru reprezentarea rezultatului depaseste numarul de biti din cele doua numere, apare o depasire, care se manifesta printr-un bit de semn incorect. O depasire poate sa apara numai daca ambele numere sunt pozitive sau negative. Exemplu:
Adunare cu eroare:
12510 = 011111012 +
5810 = 001110102
18310
Apare transport spre rangul de semn desi operanzii sunt pozitivi. Suma rezultata pare negativa ceea ce reprezinta o eroare. Pentru efectuarea corecta a operatiei de adunare ar trebui utilizati 8 biti pentru partea de marime, care sa permita reprezentarea de exemplu, a sumei 183.
Tot eroare poate sa apara si la adunarea a doua numere negative:
-2710 = 1001012 +
-2010 = 1011002
-4710
Aici trebuie sa apara transport spre rangul de semn, pentru a rezulta o suma negativa.
Scaderea este un caz special de adunare. De exemplu a scadea 6 din 9 este echivalent cu a aduna (- 6) la 9. De fapt operatia de scadere schimba semnul scazatorului si il aduna la descazut.
Semnul unui numar binar pozitiv sau negativ se schimba daca se inlocuieste cu complementul lui fata de 2.
De aceea pentru efectuarea unei scaderi se procedeaza in felul urmator:
Se calculeaza complementul fata de 2 a scazatorului si se aduna la descazut. Se neglijeaza transportul de la bitul cel mai semnificativ.
Exemple: Sa se efectueze urmatoarele scaderi ale numerelor binare cu semn (pentru usurinta intelegerii se prezinta si echivalentul zecimal al numerelor):
00000111-00000100
00001100-11110111
11100111-00010011
10001000-11100010
Solutii:
00000111 + descazutul (+7)
11111100 complementul fata de 2 a scazatorului (-4)
Transport neglijat diferenta (+3)
00001100 + descazutul (+12)
complementul fata de 2 a scazatorului (+9)
diferenta (+21)
11100111 + descazutul (-25)
complementul fata de 2 a scazatorului (-19)
Transport neglijat diferenta (-44)
10001000 + descazutul (-120)
complementul fata de 2 a scazatorului (+30)
diferenta (-90)
Intr-o inmultire operanzii se numesc de inmultit, inmultitor iar rezultatul se numeste produs, cum este exemplificat in continuare:
X |
De inmultitul |
|
Inmultitorul |
||
Produsul |
Majoritatea calculatoarelor efectueaza inmultirea folosind adunarea repetata. Exista doua metode pentru efectuarea inmultirii folosind adunarea, prin adunare directa si prin produse partiale.
In metoda adunarii directe se aduna de inmultitul de un numar de ori egal cu inmultitorul. In exemplul precedent (7x4) se aduna de patru ori de inmultitul: 7 + 7 + 7 + 7 = 28. Dezavantajul acestei metode este faptul ca devine foarte lenta in cazul in care inmultitorul este foarte mare. De exemplu in cazul inmultirii lui 125x346 trebuie sa aduna 125 la el insusi de 346 de ori.
Cand se inmultesc doua numere binare, ambele trebuie sa fie exprimate in forma necomplementata. Metoda adunarii directe este prezentata in exemplul urmator:
01001101 x 00000100
O data |
|
De doua ori |
|
Suma partiala |
|
De trei ori |
|
Suma partiala |
|
De patru ori |
|
Produs |
Deoarece bitul de semn al de inmultitului este 0, nu are efect asupra iesirii. Toti bitii din produs sunt biti de marime.
Metoda produselor partiale este probabil cea mai uzuala deoarece este modul in care ne-am obisnuit sa facem o inmultire. De inmultitul se inmulteste cu fiecare cifra din inmultitor incepand cu cel mai putin semnificativ. Rezultatul unei astfel de inmultiri dintre de inmultit si o cifra din inmultitor se numeste produs partial. Fiecare produs partial succesiv se deplaseaza cu o pozitie la stanga si dupa efectuarea tuturor produselor partiale, ele se aduna pentru a obtine produsul final.
Iata un exemplu in zecimal:
125 |
X |
De inmultitul |
346 |
Inmultitorul |
|
750 |
Primul produs partial (125x6) |
|
500 |
Al doilea produs partial (125x4) |
|
Al treilea produs partial (125x3) |
||
Produsul final |
Semnul produsului depinde de semnul de inmultitului si a inmultitorului in conformitate cu urmatoarele reguli:
Daca semnul este la fel, produsul este pozitiv.
Daca semnele sunt diferite, produsul este negativ.
Principalii pasi pentru realizarea unei inmultiri binare sunt prezentati in continuare:
Se determina daca semnul operanzilor este acelasi sau diferit. Aceasta determina care va fi semnul produsului.
Se aduc toate numerele la forma lor normala (necomplementata). Deoarece majoritatea calculatoarelor pastreaza numerele negative sub forma complement fata de 2, este necesara o operatie de complementare pentru a aduce numarul la forma normala.
Incepand cu cifra cea mai putin semnificativa din inmultitor se calculeaza produsele partiale. Cand cifra este 1 produsul partial este identic cu de inmultitul. Cand este 0 produsul partial este 0. Se deplaseaza fiecare produs partial cu o pozitie la stanga.
Se aduna fiecare produs partial la suma produselor partiale anterioare pentru a obtine produsul final.
Daca in pasul 1 bitul de semn a fost determinat ca fiind negativ produsul final se complementeaza fata de 2, apoi se ataseaza produsului bitul de semn.
Exemplu:
Sa se multiplice urmatoarele numere binare cu semn: 01010011 x 11000101.
Solutie:
Pasul 1. Bitul de semn al de inmultitului este 0 iar al inmultitorului 1 deci bitul de semn al produsului va fi 1 (negativ)
Pasul 2. Se calculeaza complementul fata de 2 al inmultitorului pentru al aduce la forma normala. 11000101 => 00111011
Pasul 3. si 4.Urmeaza procesul de inmultire. De remarcat ca bitii de marime sunt folositi in acesti pasi.
De inmultitul |
|||||||||||||
Inmultitorul |
|||||||||||||
Primul produs partial |
|||||||||||||
Al doilea produs partial |
|||||||||||||
Suma 1 + 2 |
|||||||||||||
Al treilea produs partial |
|||||||||||||
Suma |
|||||||||||||
Al patrulea produs partial |
|||||||||||||
Suma |
|||||||||||||
Al cincilea produs partial |
|||||||||||||
|
Suma |
||||||||||||
Al saselea produs partial |
|||||||||||||
Suma |
|||||||||||||
Al saptelea produs partial |
|||||||||||||
Produsul final |
Pasul 5. Deoarece bitul de semn al produsului este 1 se face complementul fata de 2 al produsului, 1001100100001 => 0110011011111, si se ataseaza bitul de semn:
Operanzii intr-o impartire se numesc deimpartit si impartitor iar rezultatul impartirii se numeste cat. Operatia de impartire in calculatoare se realizeaza folosind scaderea. Din moment ce scaderea se efectueaza cu ajutorul unui sumator rezulta ca si impartirea se poate efectua cu un sumator.
Rezultatul impartirii (catul) arata de cate ori impartitorul se cuprinde in deimpartit. Aceasta inseamna ca impartitorul poate fi scazut din deimpartit de un numar de ori egal cu catul dupa cum este prezentat in exemplul zecimal de mai jos:
Deimpartit |
||
Prima scadere a impartitorului |
||
Primul rest partial |
||
A doua scadere a impartitorului |
||
Al doilea rest partial |
||
A treia scadere a impartitorului |
||
Rest zero |
In acest exemplu impartitorul a fost scazut din deimpartit de 3 ori pana ce s-a obtinut rest 0. In consecinta catul este 3.
Semnul catului depinde de semnul celor doi operanzi dupa urmatoarele reguli:
Daca semnul operanzilor este la fel, catul este pozitiv.
Daca semnul operanzilor este diferit, catul este negativ.
Cand se efectueaza o impartire a doua numere binare, ambele numere trebuie sa fie in forma normala (necomplementata). Pasii principali intr-un proces de impartire sunt urmatorii:
Se determina daca semnul operanzilor este diferit sau nu, aceasta va determina semnul rezultatului. Se initializeaza catul la zero.
Se face scaderea impartitorului din deimpartit folosind adunarea in complement fata de 2, pentru a obtine primul rest partial si se aduna un 1 la cat. Daca restul partial este pozitiv se continua cu pasul 3, iar daca este 0 sau negativ impartirea s-a terminat.
Se scade impartitorul din restul partial si se aduna un 1 la cat. Daca rezultatul este pozitiv se continua cu urmatorul rest partial. Daca rezultatul este zero sau negativ impartirea este completa.
Exemplu: Sa se divida 01100100 cu 00011001 (10010 : 2510 = 410)
Solutie:
Pasul 1. Semnul ambelor numere este pozitiv, rezultatul va fi pozitiv. Catul este initial: 00000000.
Pasul 2. Se scade impartitorul din deimpartit folosind adunarea in complement fata de 2 (trebuie tinu minte ca transportul de la bitul cel mai semnificativ se ignora).
Deimpartitul |
||
Complementul fata de 2 a impartitorului |
||
Primul rest partial (pozitiv) |
Se aduna un 1 la cat: 00000000 + 00000001 = 00000001.
Pasul 3. Se scade impartitorul din primul rest partial folosind adunarea in complement fata de 2.
Primul rest partial |
||
Complementul fata de 2 a impartitorului |
||
Al doilea rest partial (pozitiv) |
Se aduna un 1 la cat: 00000001 + 00000001 = 00000010.
Pasul 4. Se scade impartitorul din al doilea rest partial folosind adunarea in complement fata de 2.
Al doilea rest partial |
||
Complementul fata de 2 a impartitorului |
||
Al treilea rest partial (pozitiv) |
Se aduna un 1 la cat: 00000010 + 00000001 = 00000011.
Pasul 5. Se scade impartitorul din al treilea rest partial folosind adunarea in complement fata de 2.
Al treilea rest partial (pozitiv) |
||
Complementul fata de 2 a impartitorului |
||
Rest zero |
Se aduna un 1 la cat: 00000011 + 00000001 = 00000100 = (410), rezultat final.
Politica de confidentialitate |
![]() |
Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |