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

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:

Primjer1

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:

Primjer 2

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:

Primjer 1

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:

  1. Izračunamo komplement binarnog broja. Komplement binarnog broja dobijemo tako da nule zamijenimo jedinicama, a jedinice nulama.
  2. Dobiveni komplement zbrojimo sa brojem 1.
  3. 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:

Primjer 2

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.