3 binarna aritmetika 2015
TRANSCRIPT
-
8/18/2019 3 Binarna Aritmetika 2015
1/22
Visoka tehni Visoka tehniččka škola Niška škola Niš
Osnovi računarske tehnike
Studijski programi: KOT i SRTStudijski programi: KOT i SRT
Binarna aritmetikaBinarna aritmetika
Prof. dr Zoran Veličković, dipl. inž. el.Prof. dr Zoran Veličković, dipl. inž. el.
Mart, 2015.Mart, 2015.
-
8/18/2019 3 Binarna Aritmetika 2015
2/22
Binarna aritmetikaBinarna aritmetika Na prethodnim predavanjima je pokazano kako se u računaru mogu
predstaviti brojevibrojevi, ali i ostali znaci - karakterikarakteri.
Realizacija aritmetičkih operacijaaritmetičkih operacija nad binarnim brojevimabinarnim brojevima u računaru je osnova za sva automatizovanaautomatizovana izračunavanjaizračunavanja.
Slično kao i kod aritmetike na a iruaritmetike na a iru i decimalni i binarni bro evi mogu biti bilo koje veličine, ograničenja su samo u veličini papiraveličini papira idugotrajnosti olovkedugotrajnosti olovke!
Međutim, kod računara se za pamćenje podatakapamćenje podataka koriste fizičkifizičkirealizovanerealizovane logičke kapijelogičke kapije i vezeveze, tako da je njima određen brojbitova (širina podatakaširina podataka) sa kojima se može istovremeno radi.
Postoji nekoliko načina prikazanačina prikaza celih brojeva (neoznačenihneoznačenih ioznačenih)označenih) koji su prilagođeni jednostavnoj binarnojbinarnoj aritmeticiaritmetici.
Razmotriće se osnovne aritmetičke operacijeosnovne aritmetičke operacije sa binarnim brojevima.
-
8/18/2019 3 Binarna Aritmetika 2015
3/22
NeoznaNeoznaččen binarni brojevien binarni brojevi -- NBBNBB Već smo naučili, neoznačenineoznačeni (engl. unsigned) binarni brojevibinarni brojevi (NBB)
se koriste za prikazivanje SAMOSAMO POZITIVNIHPOZITIVNIH VREDNOSTIVREDNOSTI.
Kod 8-bitnog neoznačenog binarnog broja na krajnjoj desnoj stranidesnoj stranise nalazi bit najmanje težinebit najmanje težine (engl. least significant bit - LSBLSB),indeksira se kao bit 0bit 0, dok se na levoj strani, dok se na levoj strani nalazi najteži bitnajteži bit
eng . mos s gn can - , o se n e s ra se ao . Koliki je opsegopseg neoznačenih brojevabrojeva koji se mogu reprezentovati sa
8/16/32/64 bita?8/16/32/64 bita?
SvakiSvaki individualni bit može uzeti vrednost 11 ili 00, tako da grupa od nnbitovabitova može predstaviti 22nn jedinstvenih jedinstvenih kombinacijakombinacija 00 i 11.
Za 8-bitni broj u decimalnoj notacijidecimalnoj notaciji opseg brojeva se predstavljakao 001010 do maksimalno +255+2551010.
’’x’’’’x’’ ili ’’*’’’’*’’ ili “??” karakter označava jedan bit jedan bit (bilo 00 bilo 11).
-
8/18/2019 3 Binarna Aritmetika 2015
4/22
NeoznaNeoznaččeni 8eni 8--bitni binarni brojbitni binarni broj+128+128+64+64+32+32+16+16+8+8+4+4+2+2
++Nemaju posebno imeNemaju posebno ime
BitBit najvećenajvećetežinetežine MSBMSB --Most SignificantMost Significant
BitBit
BitBit najmanjenajmanje težine,težine, LSBLSB --Last Significant BitLast Significant Bit
-
8/18/2019 3 Binarna Aritmetika 2015
5/22
Binarno sabiranje i NBBBinarno sabiranje i NBB Dva neoznačenaneoznačena binarna brojabinarna broja se sabiraju na sličansličan načinnačin kao i kod
decimalnedecimalne notacijenotacije.
Prvo se sabiraju najmanje značajninajmanje značajni - LSB bitoviLSB bitovi, i ako je potrebno,formira se prenosprenos koji se sabira u sledećem korakusledećem koraku.
Postupak se ponavljaponavlja sve dok se ne dostignu MSB bitoviMSB bitovi.
Pravila za sabiranje binarnih brojeva i formiranje prenosa su dati utabeli:
XX Y Y X+YX+Y PrenosPrenos
00 00 00 00
00 11 11 0011 00 11 0011 11 00 11
-
8/18/2019 3 Binarna Aritmetika 2015
6/22
Primer sabiranja NBBPrimer sabiranja NBBPrvi sabirakPrvi sabirak --binarni brojbinarni broj
Drugi sabirakDrugi sabirak--binarni brojbinarni broj
1 2
3 4
5 6
7 8
prenos
prenos
-
8/18/2019 3 Binarna Aritmetika 2015
7/22
Binarno oduzimanje NBBBinarno oduzimanje NBB Binarno oduzimanjeBinarno oduzimanje se može obaviti sličnoslično kao kod decimalne notacije.
Prvo se oduzimaju dva najmanje značajnadva najmanje značajna LSB bitaLSB bita, i ako jepotrebno, pravi se pozajmicapozajmica od težih pozicija.
Postupak se ponavljaponavlja sve dok se ne dođe do MSB bitovaMSB bitova.
Pravila za oduziman e binarnih bro eva i tražen e oza mice su dati u
tabeli:
XX Y Y XX--Y Y PozajmicaPozajmica
00 00 00 00
00 11 11 1111 00 11 0011 11 00 00
-
8/18/2019 3 Binarna Aritmetika 2015
8/22
Primer oduzimanja NBBPrimer oduzimanja NBBPrimer 1Primer 1“Prve”“Prve”
pozajmicepozajmice
“Druge”“Druge”pozajmicepozajmice
Primer 2Primer 2
“Prve”“Prve”pozajmicepozajmice
“Druge”“Druge”pozajmicepozajmice
-
8/18/2019 3 Binarna Aritmetika 2015
9/22
Iako je veoma jednostavna, prethodno opisana tehnika oduzimanjabinarnih brojeva SE NE KORISTISE NE KORISTI kod računara.
Kod računara se za realizaciju operacije oduzimanja najčešće koristitzv. komplementarna tehnikakomplementarna tehnika.
Da bi se ova tehnika realizovala kod decimalne notacijedecimalne notacije treba
Komplemetarne tehnike oduzimanjaKomplemetarne tehnike oduzimanja
formirati desetičnidesetični (engl. tens)tens) i devetičnidevetični (engl. nines)nines) komplementkomplement,dok se kod binarnog oduzimanjabinarnog oduzimanja koriste DVOJIČNIDVOJIČNI (potpunipotpuni)KOMPLEMENTKOMPLEMENT ili JEDINIČNIJEDINIČNI (nepotpuninepotpuni) KOMPLEMENTKOMPLEMENT.
Predstavljanje brojeva jediničnim jediničnim i dvojičnim komplementimadvojičnim komplementimaomogućava da se operacija oduzimanjaoduzimanja može realizovati sabiranjemsabiranjem!
Načini dobijanjaNačini dobijanja jediničnog i dvojičnog komplementa su dati nasledećim slajdovima i obično se izvode u 3 koraka3 koraka.
Tehnika odizimanja binarnih brojeva biće Vam potrebna kod binarnogbinarnogdeljenjadeljenja.
-
8/18/2019 3 Binarna Aritmetika 2015
10/22
Oduzimanje komplementom jediniceOduzimanje komplementom jedinice
2244+2+233+2+222+2+211== DodavanjeDodavanje
kom lementakom lementa
UmanjenikUmanjenik--prviprvibin. brojbin. broj
UmanjilacUmanjilac --drugi bin. brojdrugi bin. broj
2255+2+244+2+233+2+200=32+16+8+1==32+16+8+1=5757
--
StandardnoStandardno binarno oduzimanjebinarno oduzimanje
==
2244+2+233+2+211+2+200==
16+8+2+1=16+8+2+1=2727
PrenosPrenos sese dodajedodaje uuzadnjoj fazizadnjoj fazi
Formiranje komplementaFormiranje komplementa jedinice jedinice
jedinice jediniceOduzimanjeOduzimanje komplementomkomplementom jedinice jedinice
++--1 2
3
RezultatRezultat
-
8/18/2019 3 Binarna Aritmetika 2015
11/22
Oduzimanje komplementomOduzimanje komplementom dvojkedvojkeStandardnoStandardno binarnobinarno oduzimanjeoduzimanje
uz man euz man e vo n mvo n m omp emen omomp emen om
FormiranjeFormiranjekomplementakomplementa dvojkedvojke
Prenos sePrenos se odbacujeodbacuje u zadnjoj faziu zadnjoj fazi
1 2
++--3
RezultatRezultat
-
8/18/2019 3 Binarna Aritmetika 2015
12/22
Formiranje komplementaFormiranje komplementa dvojkedvojke
IskopirajIskopiraj sve odsve od LSBLSB--aa
MSBMSB LSBLSB
1
Formiranje komplementa dvojke (dvoičniFormiranje komplementa dvojke (dvoičnikomplement)komplement) -- jedan od načina jedan od načina
InvertujInvertuj preostalepreostalebitovebitove
(uključujući i nju)(uključujući i nju)
2
-
8/18/2019 3 Binarna Aritmetika 2015
13/22
OznaOznaččeni binarni brojevieni binarni brojevi -- OBBOBB Označeni binarni brojeviOznačeni binarni brojevi (engl. signed) OBB se koriste za
predstavljanje POZITIVNIHPOZITIVNIH i NEGATIVNIHNEGATIVNIH veličina.
Kod decimalne notacijedecimalne notacije se koristi ZNAKZNAK--ABSOLUTNA VREDNOSTABSOLUTNA VREDNOST(engl. sign-magnitude) način za predstavu negativnih brojevanegativnih brojeva.
Primer: ++2727 i --2727. Iz razloga efikasnosti u računarimau računarima se ne koristine koristi ovaj pristup!
Naime, u računarima se koristi ZNAKZNAK--BITBIT (engl. sign-bit) načinpredstave negativnih brojevanegativnih brojeva.
Vrednost MSBMSB bita određuje znakznak označenogoznačenog binarnog brojabinarnog broja.
Pogledajte sledeću tabelu u kojoj je predstavljeno korišćenje bitakorišćenje bita zaoznačavanje znakaznaka (engl. sign bit).
-
8/18/2019 3 Binarna Aritmetika 2015
14/22
88--bitni oznabitni označčeni binarni brojeni binarni broj--128128+64+64+32+32+16+16+8+8+4+4+2+2+1+1
Negativa vrednostNegativa vrednost
Pozitivna vrednostPozitivna vrednost++
==
Vrednost rezultatVrednost rezultat
MSBMSB LSBLSB
-
8/18/2019 3 Binarna Aritmetika 2015
15/22
Oduzimanje i oznaOduzimanje i označčeni brojevieni brojeviDecimalnoDecimalno:: znakznak--apsolutna vrednostapsolutna vrednost
BinarnoBinarno::označeni binarnioznačeni binarni
brojevibrojevi
--227+7+2266+2+255+2+211==
--128+64+32+2=128+64+32+2=
++
++ NegativniNegativnibrojevi !brojevi !
--227+7+2255+2+233+2+200==
--128+32+8+1=128+32+8+1=
==--8787
==--3030
++
++
-
8/18/2019 3 Binarna Aritmetika 2015
16/22
Prednosti znak Prednosti znak--bit predstavebit predstave OBBOBB Brojevi mogu biti uvek dodati direktnodirektno bez obzira da li oni
predstavljaju pozitivnepozitivne ili negativnenegativne brojeve.
Pogledajmo sledeće aritmetičkaaritmetička operacijeoperacije
aa ++ b;b; aa ++ ((––b);b); ((––a)a) ++ b;b; i ((––a)a) ++ ((––b)b)
,sabiranjemsabiranjem ovih dveju veličina.
Ovo ubrzavaubrzava rad računara i može se realizovati sa manjim brojemmanjim brojemlogičkih kapija.
Dakle, primenom označenih brojeva se zahtevazahteva samo jedan blok jedan blok i za
sabiranjesabiranje i oduzimanjeoduzimanje, uz realizaciju dvojičnog komplementatordvojičnog komplementator (zasada mi verujte na reč) koji se realizuje sa par logičkih kola.
Način realizacijeNačin realizacije operacija binarnog oduzimanjaoduzimanja i binarnog sabiranjasabiranjaučićemo nešto kasnije.
-
8/18/2019 3 Binarna Aritmetika 2015
17/22
Binarno mnoBinarno množženjeenje Jedan od načina realizacije množenjamnoženja je prevođenje u višestrukovišestruko
sabiranjesabiranje:
77 ×× 4 =4 = 77 ++ 77 ++ 77 ++ 77 = 28.= 28. Iako je to jednostavno za računare jednostavno za računare, u slučaju dugih nizova brojevadugih nizova brojeva
. Još jedan način za realizaciju množenjarealizaciju množenja je tehnika “pomeripomeri i
saberisaberi” (engl. shift-and-add).
Jednostavan algoritam množenja “pomeripomeri i saberisaberi” ne funkcioniše sanegativnim brojevima prestavljeni u dvoičnom komplementu!
Ovaj problem se rešava Boothlovim algoritmom.
Pogledajmo primerprimer tehnike “pomeripomeri i saberisaberi” pozitivnih brojeva nasledećem slajdu.
-
8/18/2019 3 Binarna Aritmetika 2015
18/22
Tehnika “pomeri i saberi” Tehnika “pomeri i saberi”DecimalniDecimalniekvivalentekvivalent
MnoženikMnoženik MnožilacMnožilac
ParcijalniParcijalni
2211+11+2288+2+277+2+266+2+255+2+211==
2048+256+128+64+32+2=2048+256+128+64+32+2=25302530..
2*102*1033+5*10+5*1022+3*10+3*1011==
2000+500+30 =2000+500+30 = 25302530.
pro zvopro zvo
-
8/18/2019 3 Binarna Aritmetika 2015
19/22
Binarno deljenje/mnoBinarno deljenje/množženje saenje sa 22nn
Jedan od načina realizacije deljenjadeljenja je prevođenje u višestrukovišestrukooduzimanjeoduzimanje..
Kao i množenje, deljenje je takođe jednostavno za računare jednostavno za računare, ali uslučaju dugih nizova brojevadugih nizova brojeva to može biti vremenski zahtevanvremenski zahtevanproces.
Još jedan način za realizaciju deljenjarealizaciju deljenja sa brojevima 22nn je tehnika““pomeripomeri (engl. shift) u desnou desno”” za nn pozicija.
Na sličan način se može realizovati i množenje sa brojevima 22nn kadase broj “šifta u levošifta u levo”” za nn pozicija.
Na vežbama ćete naučiti tehniku deljenja binarnih brojeva koja jezasnovana na oduzimanju.
-
8/18/2019 3 Binarna Aritmetika 2015
20/22
IEE 754 aritmetikaIEE 754 aritmetika -- sabiranjesabiranje Sabeti dva floating point broja ff00 i ff11 :
ff00 = m= m00 ×× 22ee00 ,
ff11 = m= m11 ×× 22ee11 , uz uslov da je e0 ≥ e1ff00 ++ ff11 = (= (mm00 ++ mm11 ×× 22ee11−−ee00)) ×× 22ee00
1. Shiftaj manji broj u desno dok se eksponenti ne izjednače.
2. Dodaj/oduzmi mantise (zavisno od znaka).
3. Normalizuj zbir podešavanjem eksponenta.
4. Proveri prekoračenje.
5. Zaokruži na određeni broj bita.6. Rezultat možda zahteva dalju normalizaciju.
-
8/18/2019 3 Binarna Aritmetika 2015
21/22
IEE 754 aritmetikaIEE 754 aritmetika -- mnomnožženjeenje Pomnoži dva floating point broja ff00 i fi f11 :
ff00 == mm00 ×× 22ee00 ,,
ff11 == mm11 ×× 22ee11 ,, uz uslov da je e0 ≥ e1ff00 xx ff11 = (= (mm00 xx mm11 ×× 22ee00 + 2+ 2ee11)) ×× 22ee00
1. Saberi eksponente.
2. Pomnoži mantise, postavi znak proizvoda.
3. Normalizuj proizvod podešavanjem eksponenta.
4. Proveri prekoračenje.
5. Zaokruži na određeni broj bita.6. Rezultat možda zahteva dalju normalizaciju.
-
8/18/2019 3 Binarna Aritmetika 2015
22/22
Primer aritmetike u IEE 754 formatuPrimer aritmetike u IEE 754 formatu Primer osnovnih računskih operacija u 754 foratu:
x=30 i y=200:
x=0.30.3×1022=30
y=0.20.2×1033=200
x+yx+y = (0.30.3 × 1022--33 + 0.20.2) × 1033 = 0.23×103= 230
xx--yy = (0.30.3 × 1022--33 - 0.20.2) × 1033 = (-0.17)×103= -170
xx××yy = (0.30.3 × 0.20.2) × 1022++33 = 0.06×105 = 6000
xx÷÷yy = (0.30.3 ÷ 0.20.2) × 1022--33 = 1.5×10-1 = 0.15