Anda di halaman 1dari 7

Operaii cu numere binare

1. Regulile operaiilor cu numere binare reprezentate fr semn


a) Adunarea 0+0=0 0+1=1 1+0=1 1 + 1 = 0 i 1 transport la rangul imediat superior (cu "depire") Exemplu: 1 1 1 1 1 (transport) 01101 + 10111 ------------=100100 b) Scderea 000 0 1 1, cu mprumut 1 de la rangul imediat superior 101 110 Exemplu * * * * (stelua marcheaz bitul de unde exist mprumut) 1101110 10111 ---------------=1010111 c) nmulirea 0x0=0 0x1=0 1x0=0 1x1=1 Exemplu 1 0 1 1 (x) 1 0 1 0 (y) --------0 0 0 0 Corespunde unei nmuliri cu un 0 din y + 1011 Corespunde unei nmuliri cu un 1 din y + 0000 +1011 --------------=1101110

2. Reprezentarea numerelor binare


a) Reprezentarea numerelor binare n valoare absolut i semn Fie numrul binar x, atunci reprezentarea lui n valoare absolut i semn va fi:
x sgn x x

unde: sgn x este cel mai semnificativ bit al numrului binar i reprezint bitul de semn sgn x=0 nseamn un numr binar pozitiv, sgn x marcheaz un numr binar negativ |x| este valoarea absolut a numrului binar, format din restul biilor Exemplu Fie numrul +10 n zecimal, reprezentat ca numr binar n valoare absolut i semn va fi 0/1010 Fie numrul -10 n zecimal, reprezentat ca numr binar n valoare absolut i semn va fi 1/1010 b) Reprezentarea numerelor binare n complement fa de 1 Complementul fa de 1 este o alternativ de reprezentare a numerelor binare negative, astfel c numerele binare pozitive se vor reprezenta ca n binar cu valoare absolut i semn, iar numerele binare negative se vor reprezenta n complement fa de 1. Fie numrul binar x, pentru a obine reprezentarea numrului n complement fa de 1, se complementeaz toi biii reprezentrii sale pozitive, ncepnd de la cel mai puin semnificativ bit, inclusiv bitul de semn.
x compl1 x n x

Exemplu Fie numrul +10 n zecimal, reprezentat ca numr binar n valoare absolut i semn va fi 0/1010, iar reprezentat ca i complement fa de 1 va fi tot 0/1010 Fie numrul -10 n zecimal, reprezentarea sa pozitiv ca numr binar n valoare absolut i semn va fi 0/1010, iar complementul fa de 1 va fi 1/0101 c) Reprezentarea numerelor binare n complement fa de 2 i aceast reprezentare este tot o alternativ pentru reprezentarea numerelor binare negative, astfel c numerele binare pozitive se vor reprezenta ca n binar cu valoare absolut i semn, iar numerele binare negative se vor reprezenta n complement fa de 2. Obinerea complementului fa de 2 se poate realiza n dou modaliti: - se parcurge irul de bii de la cel mai puin semnificativ bit ctre cel mai semnificativ bit al reprezentrii pozitive a numrului. Pn la gsirea primului bit de 1, nu se efectueaz nici o modificare asupra numrului. n momentul n care s-a identificat primul bit de 1, acesta se las nealterat, iar toi biii aflai la stnga lui se vor complementa, inclusiv bitul de semn Exemplu Se dorete transformarea numrului -10 din zecimal n binar. Se pornete de la reprezentarea binar pozitiv a acestuia, 0/1010, i se aplic algoritmul de mai sus: 1/0110

- a doua metod const n utilizarea complementului fa de 1. Astfel se pornete de la reprezentarea binar pozitiv a numrului, se realizeaz complementul fa de 1, i apoi se adun 1 la cel mai puin semnificativ bit. Rezultatul fa vi complementul fa de 2 Exemplu Fie numrul -10 n zecimal. Se pornete de la reprezentarea binar pozitiv a acestuia, 0/1010. Se realizeaz complementul fa de 1, 1/0101. Apoi se adun 1 la cel mai puin semnificativ bit, rezultnd complementul fa de 2: 1/0101+ 1 1/0110

3. Adunarea i scderea numerelor binare cu semn


a) Adunarea i scderea numerelor binare reprezentate n valoare absolut i semn Fie numerele binare x, y i rezultatul operaiei z.
x sgn x x
y sgn y y z sgn z z

a1) Adunarea numerelor binare reprezentate n valoare absolut i semn Regulile de adunare: dac cele dou numere au biii de semn identici, sgn x = sgn y, atunci se face adunarea ntre cele dou valori absolute:
z x y

iar bitul de semn sgn z sgn x Exemplul 1 Fie dou numere binare +10 i +4, reprezentate n binar 0/1010 respectiv 0/0100. Deoarece cele dou numere au biii de semn identici, se va face operaia de adunare ntre cele dou valori absolute ale celor dou numere: (+10)+(+4)=(+14) 1010+ 0100 1110 Deci rezultatul final este 0/1110 3

Exemplul 2 Fie dou numere binare -15 i -9, reprezentate n binar 1/1111 respectiv 1/1001. Deoarece cele dou numere au biii de semn identici, se va realiza adunarea valorilor absolute ale acestora: (-15)+(-9)=(-24) 1111 1111+ 1001 11000 transporturi la rang superior

dac cele dou numere au biii de semn diferii, sgn x sgn y, atunci se face scderea ntre cele dou valori absolute:
z x y

Dac exist mprumut la cel mai semnificativ bit al operaiei, atunci bitul de semn al rezultatului este sgn z sgn x , iar valoarea absolut z trebuie complementat fa de 2. Dac nu exist mprumut la cel mai semnificativ bit al operaiei, atunci bitul de semn al rezultatului sgn z sgn x iar valoarea absolut z rmne rezultatul operaiei.

Exemplul 1 Fie dou numere zecimale +10 respectiv -4, reprezentate n binar 0/1010 respectiv 1/0100, pentru care trebuie efectuat operaia de adunare. Deoarece cele dou numere au biii de semn diferii, se va efectua operaia de scdere ntre cele dou numere: (+10)+(-4) = 10-4 = +6 10100100 0110 Deoarece nu exist mprumut la cel mai semnificativ bit, bitul de semn va fi bitul de semn al desczutului, iar rezultatul operaiei va fi 0/0110 Exemplul 2 Fie dou numere zecimale 4 respectiv -10, reprezentate n binar 0/0100 respectiv 1/1010, pentru care trebuie efectuat operaia de adunare. Deoarece cele dou numere au biii de semn diferii, se va efectua operaia de scdere ntre cele dou numere: (+4)+(-10)=4-10=-6 * * - mprumut la rang superior 01001010 1010

Deoarece exist mprumut la rangul superior, rezultatul se va complementa fa de 2: 1010 0110, iar bitul de semn va fi complementul bitului de semn al desczutului. Rezultatul final va fi: 1/0110 a2) Scderea numerelor binare reprezentate n valoare absolut i semn Regulile de scdere: dac cele dou numere au biii de semn identici, sgn x = sgn y, atunci se face scderea ntre cele dou valori absolute:
z x y

Dac exist mprumut la cel mai semnificativ bit al operaiei, atunci bitul de semn al rezultatului este sgn z sgn x , iar valoarea absolut z trebuie complementat fa de 2. Dac nu exist mprumut la cel mai semnificativ bit al operaiei, atunci bitul de semn al rezultatului sgn z sgn x iar valoarea absolut z rmne rezultatul operaiei. dac cele dou numere au biii de semn diferii, sgn x sgn y, atunci se face adunarea ntre cele dou valori absolute:
z x y

iar bitul de semn sgn z sgn x

b) Adunarea i scderea numerelor binare reprezentate n complement fa de 1

Fie numerele binare x, y i rezultatul operaiei z.


x sgn x x y sgn y y z sgn z z

Regulile operaiei: numerele binare pozitive se reprezent n valoare absolut i semn numerele binare negative se reprezint n complement fa de 1 se efectueaz operaia de adunare sau scdere dac bitul de semn al rezultatului este sgn z 1 , atunci valoarea absolut a rezultatului z trebuie reprezentat n complement fa de 1, iar dac sgn z 0 , atunci valoarea absolut a rezultatului z este rezultatul obinut dac la cel mai semnificativ bit al operaiei apare transport sau mprumut, atunci acesta va fi adunat sau sczut de la cel mai puin semnificativ bit, n funcie de operaia efectuat. Exemplul 1 Fie dou numere zecimale 7 respectiv -13, care trebuie adunate. Deoarece este numr pozitiv, numrul 7 va fi reprezentat n binar cu valoare absolut i semn, 0/0111, iar numrul -13 va fi reprezentat n complement fa de 1: 1/0010. Se va realiza operaia de adunare, inclusiv pentru bitul de semn:

11 0/0111+ 1/0010 11001

transport

Deoarece bitul de semn al operaiei este 1, rezultatul va fi obinut prin complementarea valorii absolute: 0110 = 6. Rezultatul final este -6 Exemplul 2 Fie dou numere zecimale -14 respectiv -19, pentru care trebuie efectuat operaia de adunare. Deoarece ambele numere sunt negative, vor fi reprezentate n complement fa de 1, conform regulilor de la punctul 2.b): 1/10001 respectiv 1/01100. Se efectueaz operaia de adunare (inclusiv pentru bitul de semn): 1 110001+ 101100 1011101 transport

Conform regulilor, deoarece bitul de semn este 1 (1/011101), rezultatul va trebui complementat fa de 1. nainte ns, deoarece avem transport dincolo de cel mai semnificativ bit, acesta va fi adunat la cel mai puin semnificativ bit: 1 011101+ 1 011110 Rezultatul va fi complementat rezultnd 100001 = 25+20=32+1=33. Deci rezultatul final este -33

c) Adunarea i scderea numerelor binare reprezentate n complement fa de 2

Fie numerele binare x, y i rezultatul operaiei z.


x sgn x x y sgn y y z sgn z z

Regulile operaiei: numerele pozitive se reprezint n binar cu semn numerele negative se reprezint n complement fa de 2 se efectueaz operaia de adunare sau de scdere dac bitul de semn al rezultatului este sgn z 1 , atunci valoarea absolut a rezultatului z
trebuie reprezentat n complement fa de 2, iar, dac sgn z 0 , atunci valoarea absolut a rezultatului z este rezultatul obinut. dac la cel mai semnificativ bit al operaiei apare transport sau mprumut, atunci acesta nu se va lua n considerare.

Exemplu Fie dou numere zecimale 9 respectiv -14, pentru care trebuie efectuat operaia de adunare. Deoarece este numr pozitiv, numrul 9 va fi reprezentat n binar cu valoare absolut i semn, 0/1001, iar numrul -13 va fi reprezentat n complement fa de 2: 1/0010. Se va realiza operaia de adunare, inclusiv pentru bitul de semn: 0/1001+ 1/0010 1/1011 Deoarece bitul de semn al rezultatului sgn z 1 , valoarea absolut a acestuia trebuie reprezentat n complement fa de 2: (1011)c2=>(0101)2= 5. Cum bitul de semn este 1, adic minus, rezultatul final este -5.