Presentation is loading. Please wait.

Presentation is loading. Please wait.

Prikaz informacija u računalu

Similar presentations


Presentation on theme: "Prikaz informacija u računalu"— Presentation transcript:

1 Prikaz informacija u računalu

2 Zašto je to važno znati? Primjer u programskom jeziku C
Brojanje void main () { short int i; i = 0; while (i < ) { i = i + 1; } printf ("Gotovo!"); Što se i zašto dogodilo?

3 Brojevni sustavi Osnovna jedinica informacije: broj
Prikazuje se nizom znamenki, pri kojem je značajan položaj znamenke u broju. Npr. broj 123 1 ∙ ∙ ili 1 ∙ ∙ ∙ 100 10 nazivamo bazom brojevnog sustava moguće znamenke: 0, 1, 2, 3, 4, 5, 6, 7, 8 i 9 Općenito: Brojevni sustav s bazom brojanja B ima znamenke z  { 0, 1, 2, ... , B-1} Općenito napisan broj od n znamenki u brojevnom sustavu s bazom B zn-1 ∙ Bn-1 + zn-2 ∙ Bn z1 ∙ B1 + z0 ∙ B0

4 Brojevni sustavi Je li dekadski sustav prikladan za ugradnju u računalo? Trebalo bi načiniti elektronički element koji je u stanju prikazati 10 diskretnih stanja Moguće, ali komplicirano i skupo, možda i sporo. Jednostavno, brzo, jeftino i pouzdano rješenje: bistabil Elektronički element koji je u mogućnosti spremiti dva diskretna stanja Blok shema i funkcionalnost: Ulaz Pohraniti Q Izlaz Ulaz D Pohraniti Izlaz

5 Binarni brojevni sustav
Pouzdano i neosjetljivo na manje promjene napona: npr. 0 – 2,5 V  znamenka 0 2, V  znamenka 1 Znamenke su 0 i 1, dakle baza brojanja B=2 što određuje binarni brojevni sustav Iz engleskog BInary digiT nastalo je ime za najmanju količinu informacije, znamenku binarnog brojevnog sustava BIT. Broj od n znamenki u brojevnom sustavu s bazom 2: zn-1 ∙ 2n-1 + zn-2 ∙ 2n z1 ∙ 21 + z0 ∙ 20, zi  { 0, 1 }

6 Binarni brojevni sustav
Kako prikazati dekadski broj u binarnom brojevnom sustavu? Primjer: 5710= 5 ∙ ∙ 100 Neke potencije broja 2: 20 = 1 21 = 2 22 = 4 23 = 8 24 = 16 25 = 32 26 = 64 5710 = 1 ∙ ∙ ∙ ∙ ∙ ∙ 1 = 1 ∙ ∙ ∙ ∙ ∙ ∙ 20 =

7 Pretvorba dekadskog broja u binarni
N = zn-1 ∙ 2n-1 + zn-2 ∙ 2n z1 ∙ 21 + z0 ∙ 20 Izlučimo li iz svih pribrojnika, osim posljednjeg, zajednički faktor 2: N = 2 ∙ (zn-1 ∙ 2n-2 + zn-2 ∙ 2n z1 ∙ 20 )+ z0  N = 2 ∙ q1 + z0 z0 jest, dakle, ostatak dijeljenja N s 2 Pogledajmo sada količnik q1 q1 = zn-1 ∙ 2n-2 + zn-2 ∙ 2n z1 ∙ 20 q1 = 2 ∙ (zn-1 ∙ 2n-3 + zn-2 ∙ 2n ) + z1  q1 = 2 ∙q2 + z1 z1 jest, dakle, ostatak q1 s 2 ..., sve dok sukcesivnim dijeljenjem s 2 ne postignemo 0.

8 Pretvorba dekadskog broja u binarni
Binarni broj tvore ostaci dijeljenja s 2, odozdo prema gore 57 : 2 = 1 28 : 2 = 14 14 : 2 = 7 7 : 2 = 3 3 : 2 = 1 1 : 2 = 0

9 Binarni brojevni sustav
Umjesto 2 dekadske znamenke (57) uporabili smo 6 binarnih znamenaka (111001). Općenito: najveći dekadski broj s d znamenaka iznosi 10d-1 Primjer: d=2, najveći broj 99 = 102-1 Koliko će biti potrebno binarnih znamenaka? 10d -1 = 2b -1  10d = 2b  d ∙ log10 = b ∙ log2  d = b log2  b = d : log2  b = d : 0,  b ≈ d : 0,3  b ≈ d ∙ (1 : 0,3)  b ≈ d ∙ 3,33  b ≈ 2 ∙ 3,33 = 6,66

10 Binarni brojevni sustav
Koliki je najveći broj prikazan sa 6 binarnih znamenaka? = = 63 = 64-1 = 26-1 Koliki je najveći broj prikazan sa 7 binarnih znamenaka? = = 127 = = 27-1 Očito, broj znamenaka iz prethodnog izraza treba zaokružiti na viši cijeli broj tj: b ≈ d ∙ 3,33 Općenito vrijedi da se sa b binarnih znamenaka može prikazati najveći cijeli broj 2b-1

11 Registar Binarni brojevi u računalima spremaju se u tzv. registre sačinjene od ograničenog broja bistabila (obično 8, 16, 32, 64) Pojednostavnjeno: Q D dn-1 qn-1 Q D dn-2 qn-2 Q D d0 q0 ... 1

12 Uvećavanje binarnog broja za 1
Primjer 1: 100 + 1 101 Primjer 2: 111 + 1 1000 Što se dešava ako se najveći broj u registru s ograničenim brojem bita uveća za 1? 1 + 1 1 Preliv (overflow)

13 Primjer svih sadržaja u registru od 3 bita
U registru s 3 bita mogu se prikazati sljedeći brojevi: Dekadski broj Binarni broj 4 100 5 101 6 110 Za n=3 dobije se interval [0, ], općenito [0, 2n - 1] Za n=8 dobije se interval [0, ], tj. [0, 255]

14 Zbrajanje binarnih brojeva
Primjer 1: 100 + 10 110 Primjer 2: 111 + 101 1100 Zbrajanje u registru s ograničenim brojem bita 1 1 1 1 1 + 1 1 Preliv (overflow)

15 Negativni binarni brojevi
Kako se u registru mogu pohraniti samo 0 ili 1, očito je da je za pohranu negativnog predznaka potrebna konvencija. Jedna od mogućih konvencija mogla bi biti npr. postaviti krajnji lijevi bit na 1 ako je broj negativan, ili na 0 ako je broj pozitivan. Primjer, 8-bitni registar +24 -24 Je li predložena konvencija praktična za računanje? 1 1

16 Negativni binarni brojevi
Ne, jer treba ostvariti i postupak oduzimanja, bitno različit od zbrajanja Pokušajmo broj 24 jednostavno komplementirati: +24 -24 i zatim ta dva broja zbrojiti: Bilo bi dobro da je rezultat 0, ali nije. Međutim, kad bismo sada rezultatu dodali 1, zbog preliva dobit će se 0. 1 1 1 1 + 1 1

17 Negativni binarni brojevi
Zato se negativni brojevi prikazuju tzv. tehnikom dvojnog komplementa. Nule pretvaramo u jedinice, a jedinice u nule (komplement do baze - 1), a zatim tom komplementu dodajemo 1 (komplement do baze – dvojni komplement). Primjer: -37 u registru s 8 bita 37 1 1 + 1 -37 1 + 37 1 1

18 Oduzimanje binarnih brojeva
Operacija 7 ‑ 5 u računalu s registrom od 4 bita obavit će se kao 7 + (‑5). Binarni prikaz broja ‑5 je sljedeći: Komplement do baze Komplement do baze (jedinični komplement) (dvojni komplement) Dokaz da je dobiveni broj ‑ 5 Operacija oduzimanja 7 ‑ 5 (- 5) ( 7) (+5) (-5) Preliv Preliv 1

19 Primjer svih sadržaja u registru od 3 bita (ako je prvi bit predznak)
U registru s 3 bita, ako je prvi bit predznak mogu se prikazati sljedeći brojevi: Dekadski broj Binarni broj Za n=3 dobije se interval [-22, ], općenito [-2n-1, 2n-1 - 1] Za n=8 dobije se interval [-27, ], tj. [-128, 127]

20 Oktalni brojevni sustav
Baza sustava je B=8 a znamenke su 0,1,2,3,4,5,6,7 Koristi se za skraćeno zapisivanje binarnih sadržaja kada je to spretno Zapis se može dobiti iz dekadskog sukcesivnim dijeljenjem s 8 i zapisivanjemo ostataka s desna na lijevo, ali i direktno iz binarnog zapisa: N = z5 · 25 + z4 · 24 + z3 · 23 + z2 · 22 + z1 · 21 + z0 · 20 grupiramo li tri po tri pribrojnika i izlučimo zajednički faktor: N = (z5 · 22 + z4 · 21 + z3 · 20 ) · 23 + (z2 · 22 + z1 · 21 + z0 · 20) · 20 N = (z5 · 22 + z4 · 21 + z3 · 20 ) · 81 + (z2 · 22 + z1 · 21 + z0 · 20) · 80 o1 = (z5 · 22 + z4 · 21 + z3 · 20 ) , o0 = (z2 · 22 + z1 · 21 + z0 · 20) Primjer: 36‑bitni broj oktalni ekvivalent

21 Heksadekadski brojevni sustav
Baza sustava je B = 16, a znamenke su 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Koristi se za skraćeno zapisivanje binarnog sadržaja. Zapis se može dobiti iz dekadskog sukcesivnim dijeljenjem s 16 i zapisivanjemo ostataka s desna na lijevo, ali i direktno iz binarnog zapisa Primjer: 16‑bitni broj heksadekadski ekvivalent B E

22 Razlomljeni binarni brojevi
Razlomljeni binarni brojevi sadrže "binarnu točku", analogno decimalnom zarezu, odnosno točki u anglo-američkoj notaciji. Primjer prikaza razlomljenih brojeva: = 5 * * * = = 1*22 + 0*21 + 1*20 + 1* *2-2 = =

23 Primjer pretvaranja dekadskog razlomka u binarni
Cjelobrojni dio dekadskog broja pretvara se u binarni uzastopnim dijeljenjem, a decimalni uzastopnim množenjem s 2, gdje cjelobrojni dio dobivenih produkata tvori znamenke binarnog razlomka. 1.25 = .25 * 0.50 .5 * 2 1.0

24 Primjer pretvaranja dekadskih brojeva koji se ne mogu prikazati konačnim brojem binarnih frakcija
13.3 = .3 * 0.6 .6 * 2 1.2 .2 * 2 0.4 .4 * 2 0.8 .8 * 2 1.6 ....

25 Množenje s 2n i 2-n Treba uočiti da se konačni dekadski razlomak prikazuje kao beskonačni periodički binarni razlomak. Binarni broj se množi s potencijama baze 2 tako da se binarna točka pomakne odgovarajući broj mjesta desno ili lijevo, zavisno da li je predznak potencije pozitivan ili negativan. Na primjer: * 22 = * 2-2 = Kako, međutim, u registar pohraniti točku?

26 Realni brojevi standardne preciznosti
IEEE (Institute of Electrical and Electronics Engineers) standard 754 za prikaz realnih brojeva u standardnoj točnosti: Deklaracija u programskom jeziku C: float P Karakteristika Mantisa P je predznak ( P=1 negativan, P=0 pozitivan) Karakteristika je binarni eksponent (da se izbjegne prikaz negativnog eksponenta) Mantisa je normalizirana (samo jedan bit ispred binarne točke).

27 Primjer: Prikazati broj 5.75 kao realni broj
= * 20 = * 22 Kako se normalizacijom svakog binarnog broja (osim nule) postiže oblik 1.xxxxx vodeća jedinica ne pohranjuje se u računalu i naziva se skrivenim bitom (hidden bit). Time se štedi jedan bit što povećava preciznost.

28 Prikaz broja 5.75 (nastavak)
Predznak = 0 (pozitivan broj) Binarni eksponent = 2 K = = 129 = ( )2 Mantisa (cijela) Mantisa (bez skrivenog bita) Rezultat: ili B (heksadekadski)

29 Primjeri 2 = 102 * 20 = 12 * 21 = = hex P = 0, K = = ( ), M = (1.) -2 = -102 * 20 = -12 * 21 = = C hex Jednako kao 2, ali P = 1 4 = * 20 = 12 * 22 = = hex Jednaka mantisa, BE = 2, K = = 129 ( ) 6 = 1102 * 20 = 1.12 * 22 = = 40C hex 1 = 12 * 20 = = 3F hex K = ( ). .75 = * 20 = 1.12 * 2-1 = = 3F hex Poseban slučaj - 0: Normalizacijom broja 0 ne može se dobiti oblik 1.xxxxx 0 = tj. kao * 2-127

30 Raspon i točnost realnih brojeva
Karakteristika Raspon karakteristike: K Î[0,255]. Raspon binarnog eksponenta BE Î [-126,127] Kada je K = 0 i svi bitovi mantise nula radi se o broju nula Kada je K = 0 i postoje binarne frakcije u mantisi tada je to denormalizirani broj, tj. više ne postoji skriveni bit Kada je K = 255 i svi bitovi mantise nula radi se o prikazu +∞ illi -∞ ovisno od predznaka P Kada je K = 255 i postoje binarne frakcije u mantisi ne radi se o prikazu broja (NaN) Najmanji pozitivni broj  0 koji se može prikazati je: *2-126 što iznosi a najveći je: * 2127 » 2128 = *1038 Točnost: 24 binarne znamenke jer je: 224 » 10x  24 log 2 » x log10  x » 24 log 2 = (na približno 7 prvih važećih točnih znamenki).

31 Realni brojevi dvostruke preciznosti
Deklaracija u programskom jeziku C: double P Karakteristika Mantisa P je predznak ( P=1 negativan, P=0 pozitivan) Karakteristika je binarni eksponent (11 bita) Mantisa je normalizirana (52+1 bit).

32 Raspon i točnost prikazivanja realnih brojeva dvostruke preciznosti
Karakteristike Raspon karakteristike: K Î[0,2047]. Raspon binarnog eksponenta: BE Î [-1022,1023] Kada je K = 0 i svi bitovi mantise nula radi se o broju nula Kada je K = 0 i postoje binarne frakcije u mantisi tada je to denormalizirani broj, tj. više ne postoji skriveni bit Kada je K = 2047 i svi bitovi mantise nula radi se o prikazu +∞ ili -∞ ovisno o predznaku P Kada je K = 2047 i postoje binarne frakcije u mantisi tada se ne radi o prikazu broja (Nan)BE = K Najmanji pozitivni broj  0 koji se može prikazati je: * što je * a najveći je: * » = *10308 Točnost: 53 binarne znamenke 253 » 10x  53 log 2 » x log10  x » 53 log 2 = tj. na približno 16 prvih važećih točnih znamenki.

33 Razlika između preciznosti i točnosti
Preciznosti (precision): broj znamenki koji opisuje neku veličinu Točnost (accuracy): točnost je bliskost stvarnoj (nepoznatoj) vrijednosti Za dovoljnu točnost potrebna je adekvatna preciznost, ali preciznost ne implicira automatski točnost jer su iskazane znamenke mogle nastati na temelju npr. pogrešnog mjerenja.

34 Prikaz slova i ostalih znakova
Kombinacijom jedinica i nula – kôdom Koliko ima znakova? 26 velikih slova engleske abecede 26 malih slova engleske abecede 10 znamenaka operatori, interpunkcije, upravljački znakovi Dovoljan je 1 byte ASCII (ISO-7 standard): 7 bita za informaciju + 1 bit za paritet  27 = 128 različitih znakova Paritet: ako je u informaciji neparan broj bita, bit pariteta postavlja se na 1, inače na 0 (može i obratno: odd/even parity). Omogućuje otkrivanje jednostruke pogreške pri prijenosu informacija

35 7-bitni ASCII kod Znakovi za upravljanje ulazno-izlaznim jedinicama računala (0-31 dekadski) Dec Binarno Hex C-konstanta Znak Komentar 0x00 '\0' NULL 7 0x07 '\a' BELL Zvučni signal 8 0x08 '\b' BS Brisanje prethodnog znaka 9 0x09 '\t' HT Horizontalni tabulator 10 0x0A '\n' LF Novi redak 11 0x0B '\v' VT Vertikalni tabulator 12 0x0C '\f' FF Nova stranica 13 0x0D '\r' CR Na početak retka 27 0x1B ESC Escape

36 7 - bitni ASCII kod Znakovi koji se mogu tiskati (32-127 dekadski) Dec
Binarno Hex C-konstanta Znak Komentar 32 0x20 ' ' Praznina slijede posebni znakovi i interpunkcije kao !, ", +, - itd. 48 0x30 '0' 49 0x31 '1' 1 Slijede ostali brojevi do uklju čivo 57 ('9'), te još posebnih znakova (do 64) 65 0x41 'A' A 66 0x42 'B' B Slijede ostala velika slova engleske abecede do 90 ('Z'), te još posebnih znakova 97 0x61 'a' Slijede ostala mala slova engleske abecede do 126 ('z'), te posebni znak 127 (DEL)

37 Problem prikaza internacionalnih znakova
Naši znakovi (č,ć,đ,š,ž): prvi standard – YUASCII  CROSCII CROSCII, na svu sreću, nije više tako široko rasprostanjeni “standard” u Hrvatskoj. Neki znakovi iz ASCII tablice su zamijenjeni s našim znakovima, stoga nije moguće imati tekstove istovremeno s jednim i drugim znakovima. Raspored na ASCII tablici je slijedeći: č: malo slovo 126 ( ~ ), veliko slovo 94 ( ^ ) ć: malo slovo 125 ( } ), veliko slovo 93 ( ] ) đ: malo slovo 124 ( | ), veliko slovo 92 ( \ ) š: malo slovo 123 ( { ), veliko slovo 91 ( [ ) ž: malo slovo ( ` ), veliko slovo 64 ) U zagradama je naveden ASCII ekvivalent.

38 Problem prikaza internacionalnih znakova
8-bitni ASCII kôd  28 = 256 različitih znakova Naši su znakovi smješteni u područje Osobna računala koja rade pod Windowsima imaju nekoliko načina prikaza naših slova. Starije verzije koristile su CE - varijantu za Centralnu i Istočnu Europu. Sada se to postiže automatski odabirom hrvatske tipkovnice, međutim ipak može doći do zbrke jer su u uporabi dva standarda; Central European (Windows 1250) i Central European (ISO 8852). 8-bitni ASCII kôd nije dovoljan za prikaz znakova svih jezika u svijetu, a pogotovo za kineska i japanska slova UNICODE: 1 znak  16 bita  216 = različitih znakova

39 Memorija računala (spremnik)
Skup registara jednake duljine Današnja računala: 8-bitni registri – bajtovi (byte) Kratica: B Do svakog se bajta može pristupiti direktno, navođenjem rednog broja – adrese Simbolički prikaz spremnika i njihovih adresa: 1 2 3 4 ... n-2 n-1

40 Memorija računala (spremnik)
Veličina spremnika izražava se kao višekratnik od 210 ili 220 210 B = 1024 B = 1 kB 220 B = 1024·1024 B = B = 1 MB Kojim redom pohraniti bajtove 32 bitnog registra u spremnik? Dvije mogućnosti: od najmanje signifikantnog bajta (LSB) prema najsignifikantnijem (Little Endian) od najsignifikantnog bajta (MSB) prema najmanje signifikantnom (Big Endian) PC: Little Endian

41 Prefiksi za binarne mnogokratnike
 Faktor  Ime  Simbol  Originalni Derivacija   210 kibi Ki kilobinary: (210)1 kilo: (103)1  220 mebi Mi megabinary: (210)2  mega: (103)2  230 gibi Gi gigabinary: (210)3 giga: (103)3  240 tebi Ti terabinary: (210)4 tera: (103)4  250 pebi Pi petabinary: (210)5 peta: (103)5  260 exbi Ei exabinary: (210)6 exa: (103)6

42 Primjeri i usporedbe sa SI prefiksima
one kibibit  1 Kibit = 210 bit = 1024 bit one kilobit  1 kbit = 103 bit = 1000 bit one mebibyte  1 MiB = 220 B = B one megabyte  1 MB = 106 B = B one gibibyte  1 GiB = 230 B = B one gigabyte  1 GB = 109 B = B


Download ppt "Prikaz informacija u računalu"

Similar presentations


Ads by Google