Documente Academic
Documente Profesional
Documente Cultură
Dunarea Şi Scăderea Numerelor Binare Cu Semn PDF
Dunarea Şi Scăderea Numerelor Binare Cu Semn PDF
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
1
2. Reprezentarea numerelor binare
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
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
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
2
- 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
x sgn x x
y sgn y y
z sgn z z
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
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
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)
- 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
1010-
0100
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
4
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
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
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:
5
11 transport
0/0111+
1/0010
11001
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 transport
110001+
101100
1011101
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
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.
6
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.