2.3.2. II komplement |
Binarna aritmetika koristi različite metode svođenja postupka oduzimanja na postupak zbrajanja, a jedna od njih je DRUGI KOMPLEMENT (dvojni komplement), za koju vrijede sljedeća pravila:
1. Dodati umanjitelju onoliko "0" na početak koliko je potrebito da ima isti broj znamenki kao umanjenik. 2. Umanjitelju se određuje I komplement tako da se sve "0" u umanjitelju pretvore u "1", a "1" se pretvore u "0". 3. I komplementu umanjitelja određuje se II komplement tako da mu se pribroji iznos 1. II K = I K + 1 4. Umanjeniku se pribroji II komplement umanjitelja te se u dobivenom zbroju izostavi bit najveće težine. Preostali rezultat je tražena razlika.
Izostavljeni, odnosno zanemareni bit najveće težine naziva se PRELJEV i on je uvijek "1". Ne smije ga se zaboraviti izostaviti na kraju postupka.
Primjer II
Oduzimanje dekadnih brojeva 15 i 5 pomoću metode II komplementa.
Osobite operacije s binarnim brojevima u računalu su POSMAK (shift) i ROTACIJA u lijevo ili u desno. Načelo posmaka i rotacije kroz četvero bit-ni registar (privremenu memoriju) prikazano je na slijedećim shemama:
Posmakom se sadržaj registra pomiče u lijevo ili u desno a na ispražnjena mjesta upisuje se "0". Sadržaji koji 'izlaze' iz registra, odnosno preljev, prenose se u druge sklopove ili se naznakom (zastavica-flag) na to upozorava promjenom stanja u za to predviđenom registru kada dođe do 'ispadanja' prve "1".
Rotacijom u lijevo ili u desno sadržaji koji iz registra izlaze automatski u njega ulaze na drugu stranu.
Primjer III
Posmak i rotacija binarnog broja 110001B u osam bit-nom registru u lijevu i desnu stranu.
1100012 = 001100012 ( = 49 dekadno )
a.) Posmak u lijevo:
Posmak u lijevo ima za rezultat dvostruko veći broj od prethodnog sve dok ne dođe do preljeva jedinice. Dakle omogućava brzo množenje s dva. U slučaju preljeva jedinice, preljev se signalizira izmjenom sadržaja u za to predviđenom registru.
b.) Posmak u desno:
Posmak u desno ima za rezultat dvostruko manji broj od prethodnog sve dok ne dođe do preljeva jedinice. Dakle omogućava brzo dijeljenje s dva. Preljev "1" ujedno predstavlja ostatak pri dijeljenju.
c.) Rotacija u lijevo:
Rotacija u lijevo ima isti učinak kao posmak u lijevo do preljeva jedinice.
d.) Rotacija u desno:
Rotacija u desno ima isti učinak kao posmak u desno do preljeva jedinice.
U računalu su omogućeni relativno složeni posmaci brojeva, ali je pri tome važno znati da se vodeći i krajnji bit pri tome ne gube već se pohranjuju u jednoj od privremenih memorija računala.
SAŽETAK:
Kako se sve računske operacije u računalu prevode u zbrajanje tome je i prilagođen sustav označavanja brojeva i to na način da MSB-bit predstavlja predznak ("1" za negativni i "0" za pozitivni broj), a svi negativni brojevi se s preostalim bit-ovima prikazuju kao II komplement prirodnog binarnog slijeda.
Na taj način definirana je i nula ( 0000 ). Prema prethodnoj tablici vidi se da je raspon negativnih brojeva nešto veći u odnosu na pozitivne. MSB bit tijekom računskih operacija čuva se u posebnom spremniku (registru) procesora računala kako bi isti znao kako da postupi s binarnim brojem prema zapisu u spremniku. Sam ustroj procesora (Central Processing Unit - CPU) sadrži više registara namijenjenih za računske operacije. O svim računskim operacijama u logičkoj strukturi procesora brine se aritmetičko-logička jedinica nazvana ALU (Arithmetic and Logic Unit), najvažniji logički sklop u CPU.
Dakle, registar (spremnik) kapaciteta 8 bit-a može primiti cijele brojeve od 01111111 do 10000000 (+127 do -128) i ako se ne prekorače navedene granice mogu se unutar njih obavljati cjelobrojne matematičke operacije (integer). Ako se koriste dva 8 bit-na registra kako bi se objedinili u jedan 'veći' može se koristiti raspon od 0111111111111111 do 1000000000000000 (+32767 do -32768) unutar kojeg će se obavljati cjelobrojne matematičke operacije (long integer). No što s većim brojevima ili realnim brojevima? Ne može se uporabiti više spremnika od fizički ponuđenih u ustrojenoj strukturi procesora. U dekadnom sustavu realni brojevi prikazuju se tako da točka odjeljuje cijeli dio od razlomljenog dijela. 2.54, 25.4 i 0.0254 su primjer realnih dekadnih brojeva. Ovakav način prikaza naziva se zapis s nepokretnom točkom. Kako je nepraktičan za vrlo velike ili vrlo male brojeve, radije se koristi eksponencijalni prikaz brojeva, odnosno zapis s pokretnom točkom, koji sadrži mehanizam predznaka (s), baze (b), eksponenta (e) i preciznosti (p).
Broj 3.1415927410125732421875 može se prikazati kao e=0; +3.141592 ili e=-2; +314.1592 ili e=+4; +0.000314 (predznak s=+, preciznost p=8, baza b=10). U primjeru je dat prikaz u dekadnom brojevnom sustavu da se lakše prihvati pojam decimalne točke koja se 'pomiče' u ovisnosti o eksponentu. Preciznost je 'odrezala' dio decimala prikazanog broja. Ista logika primjenjuje se u binarnom brojevnom sustavu. Predznak određuje MSB kako je prikazano u prethodnoj tablici. Dakle, jedan dio spremnika sadržavati će podatak o predznaku, eksponentu i preciznosti a ostatak će biti znamenke broja u zadanoj preciznosti. Ako se uzme veći broj mjesta za preciznost, ostaje manje za veličinu eksponenta. Znači s većom preciznošću pada raspoloživi raspon za računanje bez preljeva odnosno prekoračenja mogućnosti (overflow). Dijeljenje s nulom neprihvatljiva je operacija. O navedenim prilično zahtjevnim postupcima brine poseban logički ustroj procesora nazvan matematički koprocesor ili preciznije rečeno; jedinica za računanje s pomičnom točkom (Floating Point Unit - FPU). Prve verzije procesora dizajnirane su s dva fizički odvojena čipa; CPU i FPU. FPU se je dokupljivao po potrebi i umetao u za njega već pripravljeno postolje. Pojedine vrste programske potpore ne mogu raditi bez FPU (kao AutoCAD na primjer). U začecima mikroprocesorske ere posao FPU, ako je trebalo, 'glumio' je poseban programčić kojeg je izvršavao CPU, što je onda cijeli računalni sustav činilo jako sporim. Današnji mikroprocesori imaju ALU i FPU objedinjene u jednom čipu kako ilustrira slika 3.5.3. Navedeno glede raspona brojeva i preciznosti lijepo ilustrira slika 6.2.6 u poglavlju QBASIC-a.
Ukratko, u procesoru računala obavlja se mnoštvo računskih operacija u binarnom brojevnom sustavu po logičkom slijedu prema skupu instrukcija koje mu se dostavljaju te prema samoj unutrašnjoj logičkoj strukturi procesora, odnosno njegovih logičkih sklopova.
Citiranje ove stranice: Radić, Drago. " Informatička abeceda " Split-Hrvatska. {Datum pristupa}; https://informatika.buzdo.com/datoteka. Copyright © by Drago Radić. Sva prava pridržana. | Odgovornost |