Sofija i Marta najbolje su prijateljice. Sofiji bolje idu humanistički predmeti, dok Marta više voli prirodne predmete. Marta zna mnogo o računalima i sama čita i istražuje o toj temi. Sofija ju je jedan dan pitala: " Kako zapravo računalo pamti? Kad ja upišem broj
kako to računalo zapamti?"
Marta je bila oduševljena da joj može objasniti, baš je nedavno čitala o tome.
Kad je Marta počela objašnjavati, vidjela je da to i nije tako jednostavno objasniti nekome tko ne zna mnogo o računalima. Pa je krenula od početka. Prisjetila je svoju prijateljicu da je iz informatike učila o memoriji računala.
Memorija računala sastoji se od malih elektroničkih sklopova (bistabila) koji mogu biti u dva stanja:
(niži napon) i
(viši napon).
Jedna binarna znamenka ili bit može primiti vrijednost
ili
Logično je da jedan bistabil uvijek pamti jednu binarnu znamenku bit.
Ako želimo pohraniti više bitova, trebat će nam više povezanih bistabila. Takav skup bistabila naziva se registar. Je li za sada jasno?
Ovisno o podatku koji treba pohraniti, veličina registra može biti različita. Tako postoje registri od bitova, bitova, i bita. Prepoznaješ li ove brojeve? To su potencije broja a zašto? Jer se radi o binarnom brojevnom sustavu!
To ti je sigurno poznato. Bajt je najmanja mjerna jedinica za kapacitet memorije. A sigurno si čula i za kibibajt, mebibajt, gibibajt i tako dalje. To su veće jedinice za kapacitet memorije.
Također, važno je želimo li zapisati prirodni, negativni ili decimalni broj. Postoje različite metode i pri zapisu je uvijek važno naglasiti o kojoj se metodi radi.
Na primjer, broj
za koji si me pitala može biti zapisan na različite načine. Za početak pretvorimo broj
u binarni sustav:
Dakle, mogao bi se prikazati najmanje u
bita kao 0101.
Binarni broj zapisujemo zdesna prema lijevo. Budući da dobiveni broj pohranjujemo u registar od
bitova, u preostala prazna mjesta unose se nule pa to izgleda ovako:
a radi li se o 16-bitnom registru, izgleda ovako:
Sofija: A zašto koristimo bitova kada tu ima toliko nepotrebnih nula?
Marta: Zato što možda računalo u svome radu koristi 16-bitne registre. Mi ćemo radi jednostavnosti koristiti 8-bitne registre za manje brojeve, a veće registre za veće brojeve.
Na primjer, provjerimo u kakav će registar računalo smjestiti broj
Ovaj broj može se smjestiti u najmanje
znamenaka: 000100011000. Zbog toga ga se ne može pohraniti u registar od
bitova, već ga je potrebno pohraniti u registar od
bitova. U preostala prazna mjesta unesu se nule, pa to izgleda ovako:
A želimo li zapisivati i negativne brojeve, onda nam treba ova metoda:
Skup cijelih brojeva čine pozitivni i negativni brojevi. Ispred negativnog broja zapisujemo znak
(minus), a znak
ispred pozitivnog broja obično ne pišemo.
Sofija: Ali kako ćemo napisati + ili - ako u bistabilu mogu biti samo
stanja:
ili
Marta: Dobro pitanje, tu se radi o dogovoru, prvi bit iskoristit ćemo za predznak:
Na primjer, zapišimo broj
Prikažimo broj
u binarnom obliku:
Dobiveni binarni broj upisujemo zdesna, popunjavamo vodećim nulama, a prvi bit koji predstavlja predznak postavljamo na
1 |
predznak apsolutna vrijednost
Zapravo, uvijek prikažemo apsolutnu vrijednost broja, a zatim odredimo predznak, zato se ova metoda tako i zove.
Pomoć:
U registru od
bitova imamo na raspolaganju
bitova za broj, a prvi bit služi za predznak. Upiši redom jedinice u dio za prikaz broja, a prvi bit postavi na
jer je broj pozitivan. Za negativan broj, prvi bit postavi na
ali ga ne zbrajaj s ostalima jer je to samo oznaka predznaka.
Postupak:
predznak | |||||||
0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
predznak |
Dekadskim vrijednostima na brojevnom pravcu pridruži njihove binarne ekvivalente.
Sofija: Ali sada imamo jedan bit manje za zapis brojeva, kada ga koristimo za predznak.
Marta: Tako je, ali predznak moramo na neki način zapisati. Veći su problem računske operacije u takvom sustavu. Treba voditi računa zbrajaju li se brojevi istog ili različitog predznaka. Zato se negativni brojevi češće zapisuju metodom dvojnog komplementa koju smo naučili u jedinici Zbrajanje brojeva u binarnom brojevnom sustavu.
Pa da vidimo u čemu je razlika!
Da kratko ponovimo! Dvojnim komplementom prikazuju se negativni brojevi, a izrađuje se u
koraka:
Pomoć:
Postupak:
Sofija : Ako je broj zapisan metodom dvojnog komplementa, hoćemo li napraviti obrnuti postupak, oduzeti jedinicu, zamijeniti nule i jedinice... da bismo dobili dekadski oblik broja?
Marta: Ma ne, to se izračuna vrlo jednostavno. Znamenke binarnog broja množiš s odgovarajućim težinskim vrijednostima, samo paziš da krajnji lijevi bit ima negativan predznak. Na primjer, radi li se o 8-bitnom registru, vodeći bit množimo s ( ).
Evo na primjeru:
Koji je dekadski broj zapisan u 8-bitnom registru ako se radi o metodi dvojnog komplementa?
Rješenje:
A sad pokušaj samostalno:
Sofija: Sad baš razmišljam, zapravo je za pozitivni broj svejedno kojom se metodom zapisuje.
Marta: Točno, samo će negativni broj biti različito zapisan ovisno o tome kojom smo se metodom koristili, metodom predznaka i apsolutne vrijednosti ili dvojnog komplementa.
Dekadski broj
zapiši na
načina.
Pomoć:
Broj je u oba slučaja zapisan u registru od
bitova.
Metoda predznaka i apsolutne vrijednosti prvi bit koristi za predznak (
pozitivan broj, a
negativan broj). Ostatak broja dobije se množenjem težinskih vrijednosti ili metodom uzajamnog dijeljenja.
Metoda dvojnog komplementa izvodi se u
koraka:
Postupak:
Metoda predznaka i apsolutne vrijednosti:
10110100
Metoda dvojnog komplementa:
11001100
Sofija: A kako se zapisuju decimalni brojevi? Kako ćemo znati gdje je decimalna znamenka? Imamo li i za nju poseban bit?
Marta : Realni se brojevi mogu zapisati na dva načina:
Prikaz s fiksnom točkom nije praktičan jer koristi fiksni dio registra za prikaz cijelog broja i fiksni dio za prikaz decimalnog dijela broja. Na taj je način prostor u registru loše iskorišten. Na primjer, brojevi i koristili bi jednake fiksne dijelove za cijeli i decimalni dio.
Sofija: Što to znači eksponencijalni prikaz? Zvuči mi poznato.
Marta: Poznato ti je jer se tako prikazuju jako veliki ili jako mali brojevi. Još se zove i znanstveni zapis.
Na primjer, možeš li pročitati broj stanovnika na Zemlji: Bilo bi lakše da ga zapišeš kao Ili kad smo učili da je masa elektrona jednaka oko Teško je pročitati takav broj pa se zapisuje kao
Kako nastaje znanstveni prikaz broja objašnjeno je u videu koji slijedi:
Ideja je takvog zapisa da se broj prikazuje s cijelim mjestom različitim od nule. Pomicanjem decimalne točke ulijevo, eksponent u potenciji povećava se za broj mjesta koliko se točka pomaknula, a ako je pomaknemo udesno, smanji se za toliko mjesta koliko se pomaknula.
Isto vrijedi za bilo koji sustav pa možemo reći da se znanstveni zapis sastoji od:
Evo nekoliko zadataka za vježbu.
A sad nam još ostaje zapisati realni broj u računalo. Neka to bude broj
Najprije broj treba pretvoriti u binarni zapis.
Nadam se da se sjećaš, upute pogledaj u jedinici Binarni brojevni sustav.
Pomoć:
Cijeli dio broja pretvorimo koristeći se metodom uzastopnog dijeljenja s
ili pomoću množenja s težinskim vrijednostima binarnog sustava. Decimalni se dio množi brojem
dok rezultat ne bude
ili dok ne dobijemo dogovorenu točnost (decimale).
Postupak:
ostatak | ||||||
Zapisivanje brojeva s pomičnom točkom u binarnome brojevnom sustavu razradilo je američko stručno društvo Institute of Electrical and Electronics Engineers (IEEE). Najčešće se koristi inačica IEEE
i zapis u 32-bitne registre.
IEEE je neprofitna stručna udruga koja nastoji poticati, organizirati i pomagati tehničke aktivnosti širom svijeta.
Više o organizaciji pogledaj na njihovoj stranici.
I da napokon smjestimo broj u računalni registar od bita.
Sofija: A zašto baš
bita?
Marta: Zato što se pomoću standarda IEEE mogu zapisati brojevi s jednostrukom preciznošću ( bita) i s dvostrukom preciznošću ( bita). Mi ćemo koristiti jednostruku preciznost. U registru od bita broj se sprema na sljedeći način:
Na primjeru broja
Od dobivenog broja određujemo:
MANTISU (decimalni dio)
KARAKTERISTIKU: eksponent + ( ), u binarnom obliku
I napokon, naš broj izgleda ovako:
0 | 0 | 0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||||
p | karakteristika | mantisa |
p = predznak
Sadrži li mantisa manje od bita, dopunjavamo je nulama.
Sofija: Imam dva pitanja: Zašto se upisuje samo decimalni dio mantise i zašto se eksponentu dodaje
Marta: Kod mantise je cijeli dio uvijek jer smo decimalnu oznaku pomicali do jednog cijelog koji je različit od nule. Zašto zapisivati znamenku za koju znamo da je Ovu jedinicu zovemo skriveni bit.
Karakteristiku dobijemo tako da eksponentu dodamo jer tako osiguravamo da nemamo negativan eksponent. (U 8-bitnom registru najveći negativni broj koji možemo zapisati jest pa se dodavanjem broja osigurava da karakteristika ne može biti negativna.)
Takav je 32-bitni zapis nepregledan pa se koristi heksadekadski zapis broja. Imaš li ideju kako heksadekadski zapisati taj broj?
Grupira se po znamenke ( ) i heksadekadski zapis sigurno će imati znamenaka.
0 | 0 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Pomoć:
Grupiraj znamenke po
i iz tablice heksadekadskih vrijednosti pročitaj heksadekadske ekvivalente pojedinih binarnih četvorki.
Postupak:
01000010000010110000000000000000
grupiramo po
Sofija: Uf, ovo je bilo naporno, ali mi je sve jasno. Treba samo samostalno provježbati.
Marta: Evo jedan zadatak za vježbu:
Pomoć:
POSTUPAK
Postupak:
Predznak:
Realni broj u binarni:
Binarni broj u eksponencijalni:
MANTISA:
KARAKTERISTIKA: > binarno 1111011 (dodamo vodeću jer je predviđeno mjesta) 01111011
Broj u registru od
bita:
1 | 01111011 | 00000000000000000000000 |
predznak | karakteristika | mantisa |
Heksadekadski - čitamo iz tablice:
1011 | 1101 | 1000 | 0000 | 0000 | 0000 | 0000 | 0000 |
B | D | 8 | 0 | 0 | 0 | 0 | 0 |
ILI
A sada jedan obrnuti zadatak. Koji je broj zapisan u ovom registru?
0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
PREDZNAK:
znači da je broj pozitivan.
KARAKTERISTIKA:
MANTISA (decimalni dio) : 01000000000000000000000
MANTISA: dodajemo skriveni bit odnosno cijeli dio mantise
(nule možemo odbaciti)
Prijateljice Marta i Sofija dodatno su se zbližile zajedno učeći. Od početnog pitanja "Kako računalo pohranjuje broj " pa preko prikaza prirodnih, negativnih i na kraju realnih brojeva, Sofija je shvatila kako je to čudesno zamišljeno.
Nama je jednostavnije raditi u dekadskome sustavu, a računalu u binarnom. Ipak je to stroj, zar ne?