Professional Documents
Culture Documents
UKASZ MAZUROWSKI
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
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)
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
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
(14)10
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:
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:
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.
(11110)2 = (30)10.
(27*22)10 :
(1001010010)2 = (594)10.
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:
najstarszy, niezerowy bit z najstarszym, niezerowym bitem dzielnej. Nad dzieln rysujemy kreseczk:
niedomiaru, to nad kresk w kolumnie najmodszego bitu dzielnika wpisujemy 1 i wykonujemy odejmowanie:
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.
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.
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
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
SUMATOR
SUMATOR
Zgodnie z tabel stanw ukadu (rysunek) wyjcia Si i Ci+1 realizuj
funkcje:
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).