You are on page 1of 25

ARYTMETYKA BINARNA

UKASZ MAZUROWSKI

Dodawanie liczb binarnych


Liczby binarne dodajemy do siebie analogicznie, jak

liczby dziesitne, pamitajc o tym, e: 0+0=0, 0+1=1, 1+0=1, 1+1=0 i 1 przeniesienia, 1+1+1=1 i 1 przeniesienia

Dodawanie liczb binarnych


Przykad:

(220)10 + (122)10 = (342)10

(11011100)2 + (1111010)2 = (101010110)2

Dodawanie liczb binarnych


W pamici komputera liczby binarne przechowywane s

w postaci ustalonej iloci bitw (np. 8, 16, 32 bity). Jeli wynik sumowania np. dwch liczb 8 bitowych jest wikszy ni 8 bitw, to najstarszy bit (dziewity bit) zostanie utracony. Sytuacja taka nazywa si nadmiarem (ang. overflow) i wystpuje zawsze, gdy wynik operacji arytmetycznej jest wikszy ni grny zakres danego formatu liczb binarnych (np. dla 8 bitw wynik wikszy od 28 - 1, czyli wikszy od 255):
11111111(2) + 00000001(2) = 1|00000000(2) (255 + 1 = 0)

Odejmowanie liczb binarnych


O ile dodawanie jest proste, to z odejmowaniem jest

juz trudniej. Najlepsz metod jest zamieni odjemnik na liczb w ujemnym systemie binarnym i skorzysta z zasad: a - b = a + (-b) = a + b + 1 jeeli a>b to a-b=-[b+(-a)] -a = a + 1 Oznacza to, e gdy dana jest liczba a = (10011)2 to: NOT(a) = 01100 -a = 01100 + 1 = (1101)U2

Odejmowanie liczb binarnych


O ile dodawanie jest proste, to z odejmowaniem jest

juz trudniej. Najlepsz metod jest zamieni odjemnik na liczb w ujemnym systemie binarnym i skorzysta z zasad: a - b = a + (-b) = a + b + 1 jeeli a>b to a-b=-[b+(-a)] -a = a + 1 Oznacza to, e gdy dana jest liczba a = (10011)2 to: NOT(a) = 01100 -a = 01100 + 1 = (1101)U2

Odejmowanie liczb binarnych


Przy odejmowaniu korzystamy z tabliczki

odejmowania, ktra w systemie binarnym jest bardzo prosta:

Odejmowanie liczb binarnych


Tak wic a = (100001)2 = (33)10, b = (10011)2 =

(19)10. Z tego wynika, e NOT(a) = (011110).

(110010)U2 = -(-1*25 + 1*24 + 0*23 + 0*22 + 0*21 + 0*20)10 = -(-14)10 =

(14)10

Odejmowanie liczb binarnych


Przy odejmowaniu rwnie moe dochodzi do

nieprawidowych sytuacji. Jeli od liczby mniejszej odejmiemy wiksz, to wynik bdzie ujemny. Jednake w naturalnym systemie binarnym nie mona zapisywa liczb ujemnych. Zobaczmy zatem co si stanie, gdy od liczby 0 odejmiemy 1, a wynik ograniczymy do 8 bitw:

Otrzymujemy same jedynki, a poyczka nigdy nie zanika.

Sytuacja taka nazywa si niedomiarem (ang. underflow) i wystpuje zawsze, gdy wynik operacji arytmetycznej jest mniejszy od dolnego zakresu formatu liczb binarnych (dla naturalnego kodu dwjkowego wynik mniejszy od zera). Oczywicie otrzymany rezultat jest bdny:

Mnoenie liczb binarnych.


Mnoenie nie jest zbyt skomplikowane. Polega ono

na systematycznym przesuwaniu czynnika 1 w zalenoci od stanu bitw czynnika 2. Jeeli w czynniku 2 jest "1" to przepisujemy cay czynnik 1, natomiast gdy jest "0" to przepisujemy tyle zer ile jest bitw czynnika 1. Nastpnie przesuwamy si o 1 pozycj w lewo i powtarzamy operacj. I tak a do koca czynnika 2.

Mnoenie liczb binarnych.


Pomnoymy liczb (101)2 przez (110)2 czyli (5*6)10 :

(11110)2 = (30)10.

Mnoenie liczb binarnych.


Pomnoymy liczb (11011)2 przez (10110)2 czyli

(27*22)10 :

(1001010010)2 = (594)10.

Dzielenie liczb binarnych


Dzielenie binarne jest najbardziej skomplikowan

operacj arytmetyczn z dotychczas opisywanych. Wymylono wiele algorytmw efektywnego dzielenia, ale dla naszych potrzeb wystarczy algorytm, ktry polega na cyklicznym odejmowaniu odpowiednio przesunitego dzielnika od dzielnej. Oto odpowiedni przykad:

Dzielenie liczb binarnych


Podzielimy liczb (1110)2 przez (11)2 czyli (14:3)10 :

1. Przesuwamy w lewo dzielnik, a zrwna si jego

najstarszy, niezerowy bit z najstarszym, niezerowym bitem dzielnej. Nad dzieln rysujemy kreseczk:

Dzielenie liczb binarnych


2. Jeli dzielnik da si odj od dzielnej bez

niedomiaru, to nad kresk w kolumnie najmodszego bitu dzielnika wpisujemy 1 i wykonujemy odejmowanie:

Dzielenie liczb binarnych


3. Dzielnik przesuwamy o jeden bit w prawo i prbujemy tego samego z

otrzyman rnic. Jeli odejmowanie jest moliwe, to nad kresk w nastpnej kolumnie dopisujemy 1, odejmujemy dzielnik od rnicy, przesuwamy go o 1 bit w prawo i kontynuujemy. Jeli odejmowanie nie jest moliwe, to dopisujemy nad kresk 0, przesuwamy dzielnik o 1 bit w prawo i kontynuujemy.

Dzielenie liczb binarnych


4. Operacje te wykonujemy dotd, a dzielnik osignie swoj pierwotn

warto. Pozostaa dzielna jest reszt z dzielenia. W naszym przykadzie otrzymalimy wynik (100)2 i reszt (10)2 czyli (4 i 2)10. Jest to wynik poprawny, gdy 3 mieci si w 14 cztery razy i pozostaje reszta 2.

Dzielenie liczb binarnych


Dla wprawki podzielmy liczb (110101101)2 przez (111)2 czyli (429:7)10 :

(110101101)2 : (111)2 = (111101)2i reszta (10)2 czyli (429 : 7 = 61 i reszta 2)

SUMATOR
Poniewa wszystkie podstawowe dziaania arytmetyczne: dodawanie,

odejmowanie, mnoenie i dzielenie, a take wszystkie inne operacje matematyczne, wykona mona przy zastosowaniu odpowiednich algorytmw za pomoc jednego tylko dziaania arytmetycznego dodawania, podstawowym ukadem arytmetycznym jest ukad, realizujcy dodawanie, nazywany sumatorem

SUMATOR
Na rysunku przedstawiono schemat i tabel stanw podstawowego

ukadu do dodawania dwch jednobitowych liczb dwjkowych A i B, zwanego psumatorem. Sum arytmetyczn A+B oblicza si zgodnie z reguami: 0 + 0 = 0; 0 + 1 = 1; 1 + 0 = 1; 1 + 1 = 10 (dziesitnie 2).

SUMATOR
Wynik dodawania musi by przedstawiony przy uyciu dwch bitw. Modszy bit wyniku wyprowadzany jest na wyjcie S, starszy bit wyniku

na wyjcie C. Wyjcie S znajduje si w stanie 1 gdy jedno z wej (A lub B) znajduje si w stanie 0 a drugie w stanie 1. Wyjcie S zwizane jest zatem z wejciami A i B funkcj nierwnoci ALBO (Exclusive OR, XOR):
Na wyjciu C pojawia si 1 gdy jednoczenie A i B jest rwne 1, wyjcie C

realizuje zatem funkcj iloczynu logicznego (AND):

SUMATOR
W przypadku dodawania liczb o wikszej liczbie bitw warto

wyprowadzana przez wyjcie C ukadu do sumowania liczb jednobitowych musi by dodana do bitw na wyszej pozycji (przeniesiona do wyszej pozycji). Wyjcie C jest w zwizku z tym nazywane wyjciem przeniesienia (ang. Carry). Sumowanie bitw na pozycji i wymaga dodania wartoci i-tych bitw liczb A i B oraz przeniesienia z niszej pozycji:
a ukad realizujcy takie dodawanie, zwany jednobitowym

sumatorem penym, musi zawiera dodatkowe wejcie, wprowadzajce przeniesienie Ci

SUMATOR

SUMATOR
Zgodnie z tabel stanw ukadu (rysunek) wyjcia Si i Ci+1 realizuj

funkcje:

ktre mona przeksztaci do postaci:

oraz

SUMATOR
Powysze rwnania potwierdzaj wyczuwan intuicyjnie moliwo

realizacji jednobitowego sumatora penego przy uyciu dwch psumatorw i dodatkowej bramki sumy logicznej (OR), sumujcej przeniesienia obydwu psumatorw (rysunek 1.1.2).

You might also like