Prikaz podataka u računalu
Sjedište: | CARNET - Arhiva 2021 Loomen |
E-kolegij: | III. Gimnazija Osijek - Informatika 1 |
Knjiga: | Prikaz podataka u računalu |
Otisnuo/la: | Gost (anonimni korisnik) |
Datum: | petak, 31. siječnja 2025., 06:06 |
Opis
Prikaz brojeva i znakova u računalu
1. Uvod
Već znate kako su svi podaci u računalu prikazani kao niz bitova - u obliku nula i jedinica. Naučili ste i pretvarati dekadske brojeve u binarne. U ovoj ćemo lekciji prikaz brojeva i znakova u računalu prikazati malo detaljnije.
Krenut ćemo od najjednostavnijeg - prikaza cijelih brojeva, pa preko realnih do znakova.
Elemente u memoriji u koje se spremaju vrijednosti bitova nazivamo bistabili. Grupe bistabila nazivamo registar. U registru se nalazi 8, 16, 32 ili 64 bistabila, ovisno o duljini riječi računala. Riječ je količina informacija koju računalo može obraditi u jednom periodu takta.
2. Prikaz cijelih brojeva metodom predznaka i apsolutne vrijednosti
Cijeli brojevi sastoje se od predznaka (+ ili -) i apsolutne vrijednosti broja. Na taj način ih možemo zapisati i u memoriju. S tom razlikom da i predznak moramo pohraniti kao binarni broj. Predznak "-" prikazat ćemo binarnom znamenkom 1, a predznak "+" binarnom znamenkom 0. Za zapis predznaka dovoljan je jedan bistabil. Zbog toga ćemo u registru zapisati cijeli broj na sljedeći način:
- prvi bit rezerviran je za predznak, dok su preostali bitovi rezervirani za apsolutnu vrijednost broja. To znači da u 8-bitnom registru imamo 7 bitova za vrijednost broja, u 16-bitnom imamo 15, dok u 32-bitnom registru imamo na raspolaganju 31 bit za vrijednost broja.
Primjer 1:
Broj 27 zapisan u 8-bitnom registru:
Broj 27 jednostavno pretvorimo u binarni broj: (16+8+2+1) => 110112.
Prvi bit je bit za predznak, pa u prvi bistabil upisujemo nulu. Kako nam je ostalo još 7 "mjesta", a za broj 27 potrebno je samo 5, potrebno je dva bistabila s lijeve strane dopuniti nulama.
Zašto s lijeve?
Iz jednostavnog razloga - nule s lijeve strane ne mijenjaju vrijednost broja.
Zadatak:
Koji je najveći broj zapisan u 8-bitnom registru u zapisu pomoću predznaka i apsolutne vrijednosti?
Primjer 2:
Broj -27 zapisan u 8 bitnom registru pomoću predznaka i apsolutne vrijednosti:
Zadatak 1:
Koji je najmanji broj zapisan u 8-bitnom registru u zapisu pomoću predznaka i apsolutne vrijednosti?
Zadatak 2:
Zapišite brojeve 134 i -134 u 16-bitnom registru.
Zadatak 3:
U 16-bitnom registru zapisan je sadržaj 1000000000011011. O kojem dekadskom broju se radi ako znamo da je to zapis cijelog broja pomoću predznaka i apsolutne vrijednosti.
Pomoć za rješavanje zadatka i zadatka 1:
3. Prikaz cijelih brojeva metodom dvojnog komplementa
Osim zapisa s predznakom i apsolutnom vrijednošću broja, cijeli brojevi se u računalu zapisuju i pomoću dvojnog komplementa.
Kod ovog zapisa vodeći bit (koji predstavlja predznak broja) se u pretvorbi množi sa odgovarajućom težinskom vrijednosti, ali dobiva negativan predznak.
Primjer:
Broj -101 metodom dvojnog komplementa zapisan u 8-bitnom registru je:
Kako možemo doći do tog zapisa?
Zapišimo najprije broj 101 u 8-bitnom registru. Kako je 101 = 64 + 32 +4 +1, zapis broja 101 u binarnom brojevnom sustavu je 1100101. Još trebamo dopuniti bit za predznak. Tako da je dekadski broj 101 zapisan u 8-bitnom registru 01100101.
Taj je zapis potpuno različit od zapisa -101. Kako ćemo sada doći do -101?
Postupak izračunavanja dvojnog komplementa binarnog broja je sljedeći:
- Izračunamo komplement binarnog broja. Komplement binarnog broja dobijemo tako da nule zamijenimo jedinicama, a jedinice nulama.
- Dobiveni komplement zbrojimo sa brojem 1.
- Tako dobiveni broj je dvojni komplement početnog binarnog broja, odnosno zapis negativnog broja.
Primjer:
Zapišimo sada dekadski broj -101 pomoću dvojnog komplementa. Broj 101 već smo pretvorili u binarni brojevni sustav i zapisali u 8-bitni registar:
Zadatak 1:
Zapišite brojeve 57 i -57 u 8-bitnom registru pomoću dvojnog komplementa.
Zadatak 2:
U registru duljine 8 bitova zapisan je sadržaj 10011101. Koji je to dekadski broj, ako znamo da je zapisan pomoću dvojnog komplementa?
Koji je največi i najmanji broj zapisan u 8 bita ovom metodom? Pogledaj sliku:
Intervali koje možemo prikazati ovisno o količini memorije
4. Prikaz realnih brojeva
Realni brojevi sastoje se od dva dijela odvojena točkom - cjelobrojnog (ispred decimalne točke) i decimalnog (iza decimalne točke).
U svakodnevnom životu realne brojeve zapisujemo u obliku kojeg nazivamo zapis brojeva s fiksnom točkom. Tako su zapisani npr. brojevi 312.422, 14.56, 36532718.31. Takav zapis nije prikladan za zapisivanje jako velikih ili jako malih brojeva, pa se oni zapisuju u tzv. eksponencijalnom zapisu (npr. 3.12422*102).
Broj zapisan u eksponencijalnom obliku sastoji se od normalizirane mantise (ispred decimalne točke nalazi se samo jedna znamenka) i eksponenta.
U prethodnom primjeru normalizirana mantisa je 3.12422, a eksponent je 2.
Na sličan način zapisuju se realni brojevi i u računalu. Danas se koristi nekoliko standarda, a jedan od njih je IEEE 754 standard (ili norma).
Kako zapisujemo broj prema IEEE 754 notaciji?
- Odredimo predznak - 0 za pozitivne, a 1 za negativne brojeve
- Realan broj najprije pretvorimo u binarni (npr. 12.5 = 1100.1(2)).
- Dobiveni binarni broj zapišemo u eksponencijalnom obliku. Pošto se ispred decimalne točke može nalaziti samo jedinica, ona se u računalu ne pohranjuje i naziva se skrivenim bitom (1.1001*23 => decimalni dio mantise je 1001, a 3 je binarni eksponent - binarni jer je baza 2)
- Binarni eksponent uvećamo za 127 (da izbjegnemo prikaz negativnog eksponenta) i tako dobiveni broj pretvorimo u binarni (3+127=130=10000010(2)).
- Popunimo 32 bita po sljedećem principu: Prvi bit je predznak (0 ili 1), sljedećih osam bitova popunimo sa binarnim eksponentom uvećanim za 127, a ostalih 23 bita popunimo s decimalnim dijelom mantise (dio iza decimalne točke). Ako mantisa sadrži manje od 23 bita dopunimo je s nulama (01000001010010000000000000000000).
Brojeve u IEEE 754 standardu često zbog kraćeg zapisa prikazujemo u heksadekadskom brojevnom sustavu.
Prikaz broja prema IEEE standardu u heksadekadskom brojevnom sustavu na primjeru dekadskog broja 5.25. pogledajte ovdje.
Zadatak 1:
Prikaži realan broj 9.6875(10) u heksadekadskom obliku prema IEEE 754 standardu jednostruke preciznosti!
Primjer:
Koja je vrijednost prikazana u 32-bitnom registru postavljenom na standardnu točnost?
10111101010000000000000000000000(2)
Predznak je 1 => broj je negativan
Binarni eksponent uvećan za 127 = 01111010(2) = 122
Binarni eksponent = 122 - 127 = -5
Mantisa: 1.1 => traženi broj je -1.1*2-5 = -0.000011(2) = -0.046875
Zadatak 2:
Koje su vrijednosti prikazane u 32-bitnom registru, postavljenom na standardnu točnost?
-
C1F00000(16)
-
3A800000(16)
-
41910000(16)
5. Prikaz slova i ostalih znakova
Za prikaz znakova i slova koriste se dogovoreni načini zapisivanja. Svako se slovo ili znak zapisuje pomoću jedinstvene kombinacije nula i jedinica - koda.
Da bi se sva računala međusobno "razumjela", potrebno je uvesti standard u zapis znakova. Postoji nekoliko standardnih kodova. Jedan od najpoznatijih je ASCII kod. ACCII kod temeljen je na engleskoj abecedi i svaki znak prikazuje se pomoću 7 bitova. Danas se koristi prošireni, 8-bitni, ASCII kod kojim se može prikazati 256 različitih znakova. Na taj način omogućilo se zapisivanje slova specifičnih za neke europske zemlje (tako i slova č, ć, ž, š i đ).
Za prikaz hrvatskih slova danas se koriste dva standarda Central European (Windows 1250) i Central European (ISO 8852).
Niti prošireni ASCII kod nije dovoljan za prikaz svih znakova svih svjetskih jezika. Zbog toga se danas koristi još jedan način zapisivanja - UNICODE. Svaki se znak u UNICODE kodu zapisuje pomoću 16 binarnih znamenki.
Prvih 128 znakova proširenog ASCII koda i UNICODE su identični znakovima standardnog ASCII koda.
Zadatak 1
Koliko različitih znakova se može zapisati standardnim ASCII kodom, koliko proširenim, a koliko UNICODE kodom?
Primjer
U 8-bitnom registru zapisan je sadržaj 00110011. O kojem se sadržaju radi ako znamo da je znak zapisan proširenim ASCII kodom?
Binarni broj 00110011 zapisan u dekadskom brojevnom sustavu je 51. Ako pogledamo u tablicu, vidjet ćemo da je na 51. mjestu zapisan broj 3.
Zadatak 2
U 8-bitnom registru zapisan je sadržaj 11010011. O kojem se sadržaju radi ako znamo da je znak zapisan proširenim ASCII kodom?
Zadatak 3
U nizu 8-bitnih registara zapisan je sadržaj:
01101101
01100001
01110100
01110101
01110010
01100001
O kojem se sadržaju radi ako znamo da su znakovi zapisani proširenim ASCII kodom?
Zadatak 4
Znak + zapišite u 8-bitnom registru proširenim ASCII kodom.
5.1. Izvod iz ASCII tablice
Službena ASCII tablica izgleda ovako:
Prošireni ASCII kod zapodručje istočne Europe:
Detaljniji opis znakova u ASCII tablici pogledajte ovdje.