3 Binarna Aritmetika 2015

download 3 Binarna Aritmetika 2015

of 22

Transcript of 3 Binarna Aritmetika 2015

  • 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