2.3.2. II komplement

 Natrag  Računalna aritmetika  Dalje


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.

 II Komplement

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:

 Posmak i rotacija

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-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-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-lijevo

Rotacija u lijevo ima isti učinak kao posmak u lijevo do preljeva jedinice.

d.) Rotacija u desno:

 Rotacija-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.

 Binarni brojevni raspon

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.

 Natrag
 Tražila
 Dalje

 Početak
 KAZALO  Informatička abeceda
 
Citiranje ove stranice:
Radić, Drago. " Informatička abeceda " Split-Hrvatska.
{Datum pristupa}. <https://informatika.buzdo.com/>.
Copyright © by Drago Radić. Sva prava pridržana. | Odgovornost