Prikaz podataka u računalu

Sjedište: CARNET - Arhiva 2021 Loomen
E-kolegij: Informatika 1 - Gimnazija Đakovo
Knjiga: Prikaz podataka u računalu
Otisnuo/la: Gost (anonimni korisnik)
Datum: ponedjeljak, 20. svibnja 2024., 15:45

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) => 11011(2).
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.

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?

4. Prikaz relalnih 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 => mantisa 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 mantisom (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).

Izvod iz ASCII tablice dan je u prvom poglavlju "Potrebni dokumenti i informacije o Državnoj maturi iz informatike".

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

ASCII

Detaljniji opis znakova u ASCII tablici pogledajte ovdje.