You are on page 1of 7

2.

CELOBROJNA BINARNA ARITMETIKA


Sabiranje binarnih brojeva se vri prema sledeoj tabeli:
Tabela 1. Sabiranje binarnih brojeva
Sabirak 1
0 0 1 1
Sabirak 2
0 1 0 1
Zbir
0 1 1 0
Prenos
0 0 0 1
Dva binarna broja se sabiraju tako to se, poevi od bita najmanje teine, sabiraju
odgovarajui bitovi sabiraka. Ako se generie prenos, prenosi se jednu poziciju ulevo i sabira
sa zbirom bitova na toj poziciji, kao i u decimalnoj aritmetici. U aritmetici komplementa
dvojke, prenos koji se desi sabiranjem bitova najvee teine se uglavnom odbacuje.
Bit najmanje teine se zove LSB (engl. Least Significant Bit), dok se bit najvee teine
zove MSB (engl. Most Significant Bit).
2.1 Negacija
Operacija negacije celog decimalnog broja se vri tako to se napravi komplement
svakog bita celog broja (ukljuujui i bit predznaka) i tako dobijenom broju se doda jedinica.
Primer 1. Primeniti operaciju negacije na brojeve +18 i -18.
(18) 00010010 1 11101101 1 11101110
(18) 11101110 1 00010001 1 00010010

Napomena. Broj se obino dopunjuje bitovima predznaka do broja koji je stepen broja 2.
Pojedine grupe bitova koje su stepeni broja dva se zovu:
-

Nibl (engl. nibble, 4 bita),

Bajt (engl. byte, 8 bitova),

Polure (engl. half-word, 16 bitova),

Re (engl. word, 32 bita).


2-1

Primer 2. Predstaviti u komplementu dvojke broj -75.

7510 010010112 01001011 1 10110100 1 10110101


ili na osnovu definicije komplementa dvojke:
100000000
-01001011
10110101
2.2 Sabiranje
Prilikom svakog sabiranja rezultat moe da bude vei od onoga to moe da se dri u
rei veliine koja se koristi. Taj sluaj se zove prekoraenje (engl. overflow). Kada doe do
prekoraenja, ALU mora da signalizira to stanje kako bi se izbeglo korienje netanog
rezultata. Da bi se otkrilo prekoraenje, posmatra se sledee pravilo: ako se dva broja sabiraju
i oba su pozitivna ili oba su negativna, do prekoraenja dolazi ako i samo ako rezultat ima
suprotan predznak.
Bit prekoraenja se rauna prema sledeoj formuli:

V An1Bn1Fn1 An1Bn1Fn1 ,
gde su An-1 i Bn-1 bitovi predznaka sabiraka, a Fn-1 bit predznaka rezultata.
Primer 3. Sabiranje brojeva predstavljenih u komplementu dvojke sa 4 bita.
1001 = -7
+0101 = 5
1110 = -2

1100 = -4
+0100 = 4
10000 = -2
bit prenosa (ignorie se)

0011 = 3
+0100 = 4
0111 = 7

1100 = -4
+1111 = -1
11011 = -5
bit prenosa (ignorie se)

0101 = 5
+0100 = 4
1001 = prekoraenje

1001 = -7
+1010 = -6
10011 = prekoraenje
bit prenosa (ignorie se)

2.3 Oduzimanje
Operacija oduzimanja nad celim oznaenim brojevima se vri primenom sledeeg
pravila: da bi se oduzeo jedan broj od drugog (umanjilac od umanjenika), uzima se
komplement dvojke (negacija) umanjioca i dodaje se umanjeniku.
A B A ( B)

2-2

Primer 4. Oduzimanje brojeva predstavljenih u komplementu dvojke sa 4 bita.


0010 = 2
+1001 = -7
1011 = -5

M = 2 = 0010
S = 7 = 0111
-S = -7 = 1001

0101 = 5
+1110 = -2
10011 = 3
bit prenosa (ignorie se)

M = 5 = 0101
S = 2 = 0010
-S = -2 = 1110

0101 = 5
+0010 = 2
0111 = 7

M = 5 = 0101
S = -2 = 1110
-S = 2 = 0010

1011 = -5
+1110 = -2
11001 = -7
bit prenosa (ignorie se)

M = -5 = 1011
S = 2 = 0010
-S = -2 = 1110

0111 = 7
+0111 = 7
1110
prekoraenje

M = 7 = 0111
S = -7 = 1001
-S = 7 = 0111

1010 = -6
+1100 = -4
10110 = prekoraenje
bit prenosa (ignorie se)

M = -6 = 1010
S = 4 = 0100
-S = -4 = 1100

Zadatak 1. Raunar smeta cele brojeve u komplementu dvojke pomou osam bitova.
Odrediti komplement dvojke brojeva A = +3410 i B = -5610, kao i njihov zbir i razliku.

A 3410 001000102
B 5610 00111000 1 11000111 1 110010002
A+B=

00100010
+11001000
11101010

11101010 27 26 25 23 2 2210

B (56) 11001000 1 00110111 1 00111000


A-B=

00100010
+00111000
01011010

010110102 9010

2-3

RAUN U POKRETNOM ZAREZU


Kod notacije u fiksnom zarezu (u komplementu dvojke), mogue je predstaviti opseg
pozitivnih i negativnih celih brojeva u ijem sreditu se nalazi nula. Usvajajui fiksni binarni
zarez, taj format dozvoljava i predstavljanje brojeva sa razlomakim delom. Ogranienja ovog
pristupa su u tome da se ne mogu predstaviti veoma veliki brojevi, kao ni veoma mali
razlomci.
Za decimalne brojeve, ovo ogranienje se zaobilazi korienjem naune notacije. Prema ovoj
notaciji, broj 97 600 000 000 000 000 se moe predstaviti kao 9,761014, a broj 0,000 000 000
000 097 6 kao 9,7610-14.
Korienjem naune notacije odraeno je dinamiko pomeranje decimalnog zareza na
pogodnu lokaciju i upotrebljen je eksponent broja 10 kako bi se sauvao trag tog zareza. Ovo
omoguava da se veoma veliki i veoma mali brojevi predstave pomou samo nekoliko cifara.
Isti pristup se moe primeniti i kod binarnih brojeva. Broj se predstavlja u obliku:
S BE
Ovaj broj se moe uskladititi u binarnoj rei sa tri polja:
1. Polje predznaka (),
2. Polje znaajne cifre (S),
3. Polje eksponenta (E).
Osnova B je implicitna i ne mora se skladititi jer je ista za sve brojeve (B = 2). Tipino,
zarez se postavlja posle najznaajnijeg bita znaajne cifre.
Predstavljanje binarnih brojeva u pokretnom zarezu u 32-bitnom formatu je dat na
sledeoj slici.
1 bit

8 bita

23 bita

Predznak
znaajne Polarizovani eksponent
cifre

Znaajna cifra (razlomak)

Slika 1. Predstavljanje binarnih brojeva u pokretnom zarezu u 32-bitnom formatu


Krajnji levi bit skladiti predznak broja (0 za pozitivan, 1 za negativan). Vrednost
eksponenta se skladiti u sledeih 8 bitova, korienjem polarizacionog predstavljanja. Fiksna
vrednost koja se zove polarizacija se oduzima od polja da bi se dobila prava vrednost
2-4

eksponenta. Tipino, polarizacija je jednaka 2k-11, gde je k broj bitova u binarnom


eksponentu. U ovom sluaju, 8-bitno polje daje brojeve od 0 do 255. Sa polarizacijom od 127,
prave se vrednosti eksponenta u opsegu od -127 do +127, pri emu je osnova 2, tj. opseg je od
2-127 do 2127. Zavrni deo rei, u ovom sluaju duine 23 bita je znaajna cifra.
Da bi se pojednostavile operacije nad brojevima u pokretnom zarezu, obino se zahteva
da brojevi budu normalizovani. Normalizovan broj je onaj u kome je najznaajnija cifra u
znaajnoj cifri razliita od nule. Normalizovan broj u binarnom brojnom sistemu na poziciji
najvee teine znaajne cifre ima vrednost 1. tipina konvencija je da postoji samo jedan bit
levo od zareza u znaajnoj cifri. Prema tome, normalizovan binarni broj razliit od nule je
broj koji je dat u obliku:
1,bbb 2E,
gde je b nula ili jedan.
Poto je najznaajniji bit uvek jedan, on je implicitan i nije ga potrebno skladititi.
Prema tome, 23-bitno polje se koristi da bi se uskladitila 24-bitna znaajna cifra sa vrednou
u poluotvorenom intervalu [1,2). Ako dati broj nije normalizovan, on se moe normalizovati
pomeranjem zareza desno od krajnjeg levog bita sa vrednou 1 i odgovarajuim
podeavanjima eksponenta.
Primer 5. Predstaviti decimalne brojeve 1,6328125 220; -1,6328125 220; 1,6328125 2-20 i 1,6328125 2-20 u pokretnom zarezu sa 32 bita i polarizovanim eksponentom.

1, 6328125 220 1,1010001 210100

0 100100111010001000...00
predznak 127 20 147
polarizovani
eksponent

1, 6328125 220 1,1010001 210100

23 bita
znaajna
cifra

1 100100111010001000...00
predznak

polarizovani
eksponent

23 bita

1, 6328125 220 1,1010001 210100 0 01101011 1010001000...00


1, 6328125 220 1,1010001 210100 1 01101011 1010001000...00
Napomene:
-

Predznak se skladiti u prvom bitu rei.

Vrednost prvog bita znaajne cifre je uvek 1 i ne mora se skladititi u polju za


znaajnu cifru.

Vrednost polarizacije (u ovom sluaju 127) se dodaje pravom eksponentu da bi se


skladitila u polju za eksponent.

Osnova je 2.
Opseg brojeva koji se mogu prikazati u pokretnom zarezu je dat na sledeoj slici.

2-5

Negativni brojevi
koji
se
mogu
predstaviti
Negativni
prebaaj

Pozitivni
koji
se
predstaviti

brojevi
mogu

Negativni Pozitivni
podbaaj podbaaj

- (2 223) 2-128

-2-127

Pozitivni
prebaaj
(2 223) 2-128

2-127

Slika 2. Opseg brojeva koji se mogu prikazati u pokretnom zarezu


Na sledeoj slici je prikazan opseg celih brojeva koji se mogu predstaviti u pokretnom
zarezu.

-231

231 1

Slika 3. Opseg celih brojeva koji se mogu predstaviti u pokretnom zarezu


2.4 IEEE standard za predstavljanje binarnog pokretnog zareza
Najvanije predstavljanje pokretnog zareza definisano je u IEEE standardu 754,
usvojenom 1985. godine. Standard je razvijen da bi se olakala prenosivost programa sa
jednog procesora na drugi i da bi se ohrabrio razvoj sloenih, numeriki orijentisanih
programa.
IEEE standard definie 32-bitni jednostruki i 64-bitni dvostruki format, sa 8-bitnim i 11bitnim eksponentima, respektivno. Implicitna osnova je 2. Pored toga, standard definie dva
proirena formata, jednostruki i dvostruki, iji taan format zavisi od implementacije.
Proireni formati obuhvataju dodatne bitove u eksponentu (proiren opseg) i u znaajnoj cifri
(proirena tanost). Svojom veom tanou, proireni formati smanjuju izglede da krajnji
rezultat bude kontaminiran preteranom grekom zaokruivanja; svojim veim opsegom, oni
takoe smanjuju izglede naputanja prorauna zbog prekoraenja u sredini procesa, kada bi
krajnji rezultat mogao da se predstavi u osnovnom formatu.
1 bit

8 bita

23 bita

Bit
Polarizovani
Razlomak
predznaka eksponent
(a) Jednostruki format
1 bit

11 bitova

52 bita

Bit
Polarizovani eksponent
Razlomak
predznaka
(b) Dvostruki format
Slika 4. Formati IEEE 754
2-6

Ne interpretiraju se svi oblici bitova u formatima IEEE na uobiajen nain. Umesto


toga, neki oblici bitova se koriste da predstave specijalne vrednosti. Predstavljaju se sledee
klase brojeva:
-

Za vrednost eksponenta u opsegu od 1 do 254 za jednostruki format i od 1 do 2046 za


dvostruki format, predstavljaju se normalizovani brojevi u pokretnom zarezu razliiti
od nule. Eksponent je polarizovan, pa je opseg eksponenata od -126 do +127 za
jednostruki format i od -1022 do +1023 za dvostruki. Poto je u predstavi
normalizovanog broja broj 1 ispred decimalne take implicitan bit, to se moe
predstaviti 24-bitna ili 53-bitna znaajna cifra.

Eksponent sa svim nulama, uz razlomak nule, predstavlja pozitivnu ili negativnu nulu,
u zavisnosti od bita predznaka.

Eksponent sa svim jedinicama, uz razlomak nule, predstavlja pozitivan ili negativan


beskonaan broj, u zavisnosti od bita predznaka.

Eksponent nule uz razlomak razliit od nule predstavlja denormalizovan broj. U tom


sluaju, bit levo od binarnog zareza ima vrednost nula i pravi eksponent je -126 ili 1022. Broj je pozitivan ili negativan u zavisnosti od bita predznaka.

Eksponentu sa svim jedinicama, uz razlomak razliit od nule, data je vrednost NaN,


odnosno nije broj (engl. Not a Number). Koristi se da signalizira razne uslove
izuzetka.

Deo procesora koji obavlja operacije u pokretnom zarezu je FPU (Floating Point Unit).

2-7

You might also like