Uvod U Racunarstvo - Martin Jovanovic

104
Martin Jovanović - Uvod u računarstvo Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 1 Uvod u računarstvo Dipl. ing. Martin Jovanović Verzija 24.11.2004.

description

Prvi deo gradiva iz predmeta Uvod u računarstvo na Elektronskom fakultetu u Nišu.

Transcript of Uvod U Racunarstvo - Martin Jovanovic

Page 1: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović - Uvod u računarstvo

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 1

Uvod u računarstvo

Dipl. ing. Martin Jovanović

Verzija 24.11.2004.

Page 2: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 2

Okvirni program predmetaOkvirni program predmeta Prvi kolokvijum (20 poena)

Brojni sistemi Binarna aritmetika Predstavljanje podataka u računaru

Drugi kolokvijum (20 poena) Prekidačke funkcije Realizacija prekidačkih funkcija Konačni automati

Page 3: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 3

Detaljni program – 1. Detaljni program – 1. kolokvijumkolokvijum Brojni sistemi (u nastavku BS)

O tome kako radi računar i zašto učiti brojne sisteme Brojni sistemi generalno sa akcentom na binarni BS Osnovne operacije nad (neoznačenim) binarnim brojevima Konverzija u binarni ↔ dekadni BS Heksadekadni BS

Konverzije između sistema sa osnovom 2n i oktalni sistem

Računarska aritmetika Označavanje binarnih brojeva Osnovi aritmetike označenih brojeva

Predstavljanje podataka u računaru Predstavljanje numeričkih podataka

Brojevi BCD kod

Predstavljanje nenumeričkih podataka

Page 4: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 4

Detaljni program – 2. Detaljni program – 2. kolokvijumkolokvijum Prekidačke funkcije

Definicija prekidačkih funkcija Prakrična primena prekidačkih funkcija i njihova uloga

Načini zadavanja prekidačkih funkcija Realizacija prekidačkih funkcija

Realizacija standarnim logičkim elementima Minimizacija prekidačkih funkcija

Efikasnija sinteza kombinacionih mreža Klasifikacija prekidačkih funkcija

Još efikasnija sinteza (ilustrativno, ali definisati pojam) Specijalna logička kola

Sabirači Konvertori kodova Generatori funkcija

Konačni automati Definicija i osnovna klasifikacija automata Zadavanje automata Realizacija automata

Page 5: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović - Uvod u računarstvo

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku

Brojni sistemiBrojni sistemi

oblast: 1/6

potpada pod: PRVI KOLOKVIJUM

Page 6: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 6

Brojni sistemiBrojni sistemi Svi podaci u računaru su predstavljeni u

binarnom brojnom sistemu. To je pozicioni brojni sistem sa osnovom dva,

odnosno pozicioni brojni sistem koji poznaje samo dve različite cifre: 0 (nulu) i 1 (jedinicu).

Iz tog razloga, u okviru ovog kursa akcenat će biti stavljen na binarni brojni sistem.

Pored njega biće pomenuti i sledeći brojni sistemi: heksadecimalni i oktalni.

Takođe će biti reči i opštoj teoriji brojnih sistema, u onoj meri u kojoj je to neophodno za ovaj kurs.

Page 7: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 7

Uvod u brojne sistemeUvod u brojne sisteme Da bi teorija brojnih sistema bila na pravi način

shvaćena, ovo izlaganje biće započeto uvodnom opštom pričom o funkcionisanju računara.

Računar je mašina za obradu podataka. Njegovo funkcionisanje se svodi na 4 elementa:

ulaz podataka u računar, transformacije nad tim podacima (obrada), izlaz podataka iz računara, i čuvanje (skladištenje) podataka.

Skladištenje podataka ovde nije od interesa. Ulaz podataka može biti raznolik:

od strane čoveka (programera, korisnika...), od strane senzora (prenos neke fizičke veličine iz

spoljnog sveta), itd.

Page 8: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 8

Obrada podataka je uvek ista! Obratite pažnju na ovu rečenicu. Evo kako to treba shvatiti:

obrada podataka unutar računara uvek se odvija nad istim tipom podataka: nad binarnim brojevima. I svodi se na nekoliko elementarnih operacija. Sve, dakle bukvalno sve se radi po istom principu:

uzeti podatak iz memorije, odakle već treba, izvršiti nad njim neku transformaciju (matemat. operaciju), i vratiti podatak negde gde treba u memoriju.

Ovo se ponavlja na isti način (samo nad drugim podacima) i kada kucamo tekst, i kada crtamo sliku, ili obrađujemo zvuk itd.

Sva raznolikost računara postiže se konvertovanjem tih uvek istih podataka u neki od "spoljnih" oblika: grafički, zvučni itd.

Izlaz podataka takođe može biti raznolik: informacije razumljive čoveku (slika, tekst,

zvuk...) komande drugim uređajima i slični signali, itd.

Page 9: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 9

U tom smislu, računar se može najgrublje podeliti na 2 celine: ulazno-izlazni sistem, i sistem za obradu (podataka).

Primeri ulaznih uređaja: ulazni uređaji prilagođeni čoveku (čovek daje

ulaz): tastatura, miš, palica (joystick), klavijatura sa MIDI interfejsom, grafički tablet, mikrofon + audio kartica, kamera + VIVO video kartica itd.

ostali ulazni uređaji (neka fizička veličina daje ulaz):

temperaturno osetljive sonde, senzori za ABS u nosaču točka vozila, računarski kontrolisan EKG ili EEG uređaj, itd.

Page 10: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 10

Primeri izlaznih uređaja: izlazni uređaji prilagođeni čoveku (čovek čita izlaz):

monitor + video kartica, zvučnici + audio kartica, štampač ploter rezač folija itd

ostali izlazni uređaji (izlaz je neka fizička veličina): MIDI interfejs (izlaz iz računara "čita" muzički instrument), interfejs prema nekoj industrijskoj mašini (CAM), interfejs prema sistemu za klimatizaciju itd.

Jasno je da su ulazni i izlazni podaci raznorodni. Uloga ulazno-izlaznog sistema je da raznorodne raznorodne

podatke prilagođene spoljnoj sredinipodatke prilagođene spoljnoj sredini (slike, zvuke, ili bilo koje fizičke veličine) konvertuje u konvertuje u format prilagođen računaruformat prilagođen računaru – u binarne brojeve.

Page 11: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 11

Zašto računar radi sa bin. Zašto računar radi sa bin. brojevima?brojevima? Iz istorijsko-ekonomskih razloga. Računar uopšte ne mora da radi sa binarnim

brojnim sistemom. Misli se na način na koji su podaci predstavljeni unutar

računara, tj. na "interni kôd" podataka. Postoje i računari koji rade sa drugim

brojnim sistemima. Na razvoju takvih računara se i danas radi. Oni imaju potpuno različite karakteristike od klasičnih binarnih računara, te imaju specifičnu primenu.

Za takve računare se kaže da rade u "višeznačnoj logici". Međutim binarni računari su prvi doživeli

komercijalnu ekspanziju i – zavladali tržištem.

Page 12: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 12

Da bi ovo bilo još jasnije, treba imati u vidu da: masovna proizvodnja binarnih komponenata znači

njihovu nisku cenu, te je razvoj binarnih računara najjeftiniji u startu

tržište je "naviknuto" na binarne računare, te je njihova proizvodnja ekonomski najsigurnija

softver koji je razvijen za binarne računare morao bi da se "portuje" na višeznačne mašine, što u startu postavlja niz teškoća (da bi se u potpunosti iskoristili potencijali višeznačnih mašina potrebno je i razvoju softvera pristupiti na specifičan način).

U skladu sa svim do sada iznesenim, jasno je da je binarni brojni sistem od fundamentalnog značaja za sve što je vezano za računar, osim u smislu pukog elementarnog korišćenja istog.

Page 13: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 13

Nešto najosnovnije o binarnom Nešto najosnovnije o binarnom sis.sis. U svakodnevnom životu koristimo dekadni

brojni sistem. On ima 10 različitih simbola za brojeve (cifara): 0,1,2,3,4,5,6,7,8,9.

Dekadni sistem spada u tzv. "pozicione" brojne sisteme, pošto brojna vrednost koju određena cifra predstavlja ne zavisi samo od cifre, nego i od pozicije koju ta cifra zauzima u zapisu broja (cifra 2 ne nosi istu vrednost u brojevima 12, 21, 3278, 4126438 itd).

Binarni sistem se razlikuje od dekadnog jedino u tome što poznaje samo dve različite cifre: 0 i 1.

Binarni sistem takođe spada u pozicione sisteme.

Page 14: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 14

Zapis brojeva u binarnom Zapis brojeva u binarnom sistemusistemu Zapis broja u binarnom brojnom sistemu

najjednostavnije je pokazati na primeru. U tabeli su dati zapisi određenih brojeva u dekadnom i binarnom brojnom sistemu.

Logika je jasna. Kada se istroše sve cifre, najmanja cifra se izbacuje ispred (kao u dekadnom: ...8,9,10,11).

Dekadni sistem Binarni sistem

0 000

1 001

2 010

3 011

4 100

5 101

6 110

Page 15: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 15

Brojni sistemi - definicijaBrojni sistemi - definicija Pošto je ukazano na važnost poznavanja

binarnog brojnog sistema i osnovnih operacija u njemu, a radi potpunije slike o brojnim sistemima uopšte, u nastavku izlaganja biće iznet minimum teorije o brojnim sistemima.

Definicija brojnog sistema: to je skup pravila formulisanih u cilju izražavanja kvantitativnih svojstava kôda brojnih podataka.

Definicija pojma kôd: u komunikacijama, kôd je skup pravila po kojima se jedna informacija (slovo, reč...) konvertuje u neki objekat ili akciju, koji ne moraju biti iste prirode.

Primer kôda je telegrafski kôd, po čijim pravilima se svako slovo engleske abecede reprezentuje kombinacijom kratkih i dugih zvučnih signala iste frekvencije, što je pogodno za transfer putem različitih nosača (žica, radio odašiljač, izvor svetlosti itd).

Page 16: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 16

Osnovna podela brojnih Osnovna podela brojnih sistemasistema Nepozicioni brojni sistemi

Simbol koji označava broj (cifra) ima istu vrednost nezavisno od toga gde se nalazi u zapisu broja.

Primer za nepozicioni brojni sistem su rimski brojevi.

Vrednost zapisa broja računa se tako što se cifre saberu.

Jedini izuzetak je kada je manja cifra levo od veće, onda se ona od te veće oduzima, namesto njih dve u zbir ulazi rezultat tog oduzimanja. Primer na sledećem slajdu.

Pozicioni brojni sistemi Simbol koji označava broj (cifra) ima različitu

vrednost u zavisnosti na kojoj se poziciji nalazi u zapisu broja.

Primer za pozicioni brojni sistem je dekadni (naš) brojni sistem, binarni, heksadekadni itd.

Primer i dalje razmatranje pozicionih sistema u nastavku.

Page 17: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 17

Primer za nepozicioni brojni sistem Uzmimo zapis broja MCMXXXV. Prilikom

sračunavanja brojne vrednosti ovog zapisa, slovo M uvek nosi vrednost 1000, slovo C uvek označava vrednost 100, slovo X uvek vrednost 10 a slovo V uvek i svuda vrednost 5. Prilikom sračunavanja brojne vrednosti zapisa koristi se pravilo da, ukoliko je manja cifra levo od veće, ona se od veće oduzima. Sve vrednosti cifara se potom saberu. Sračunavanjem zapisa dobijamo vrednost 1935. Možda se nebitnost pozicije cifre najjasnije vidi kod cifre X. Ona se nalazi na tri različite pozicije i u zbir uvek ulazi kao 10, dakle nezavisno od pozicije na kojoj se nalazi.

Page 18: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 18

Pozicioni brojni sistemiPozicioni brojni sistemi Za ovaj kurs su od interesa isključivo pozicioni

brojni sistemi. Uočimo dva osnovna parametra jednog pozicionog

brojnog sistema: skup svih različitih cifara tog sistema (u oznaci S) osnovu brojnog sistema (u oznaci N).

Neka brojna vrednost X se u pozicionom BS sa osnovom N piše u obliku niza cifara iz skupa S:

Cifre su različite, iako su ovde sve obeležene simbolom x.

,, x-1...x-(m-1)x-mxnxn-1...x1x0celobrojni

deodecimalni

zarez(tačka u SAD)

razlomljenideo

Page 19: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 19

Brojna vrednost zapisa brojaBrojna vrednost zapisa broja Brojna vrednost zapisa broja dobija se kao zbir

brojnih vrednosti pojedinačnih cifara:

Pri tom, kao što je rečeno,brojna vrednost cifre zavisi od: same cifre, i pozicije na kojoj se cifra nalazi u zapisu broja.

Zavisnost između pozicije cifre i njene vrednosti određuje osnova brojnog sistema.

n

miiN x)X(

vrednost cifre (x označava bilo koju) na i-toj

poziciji

iii Nxx

n

mi

iiN Nx )()X(

Page 20: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 20

Da bi se pokazalo (ilustracije radi) da se aritmetičke operacije u binarnom sistemu obavljaju na način potpuno identičan onome na koji smo navikli u dekadnom, u nastavku će biti izvršene 4 osnovne aritmetičke operacije nad dva binarna broja.

U pitanju su neoznačeni binarni brojevi, što znači da se radi samo sa pozitivnim vrednostima. Načini za označavanje negativnih binarnih brojeva, onako kako se označavanje vrši unutar računara, biće dati u nastavku kursa.

Uzmimo za primer brojeve: 55 i 11.

Primeri binarnih aritmetičkih Primeri binarnih aritmetičkih operacijaoperacija

Page 21: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 21

(55)10 = (110111)2

(11)10 = (001011)2

Sabiranje: 1 110111 001011 ------ 1000010Istom logikom sabiranje se vrši do kraja. Uraditi na

papiru.

"Tablica sabiranja" bi izgledala ovako:

+ 0 1

0 0 1

1 1 10

1+1+1 (iz prenosa) daju sledeći veći broj (a to je 11). Znači rezultat je 1, i postoji prenos 1.

Jedan i jedan daju dva... ali u binarnom sistemu ne postoji dvojka, već 1+1 daju 10

(jer je to prvi broj veći od 1, faktički "za jedan" veći od jedan). I kao u klasičnom

dekadnom sabiranju, kada je zbir dvocifren, nižu cifru pišemo a višu

"pamtimo", odnosno javlja se prenos.

Page 22: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 22

Binarno oduzimanje (isti brojevi):

1 1 0 1 1 1 0 0 1 0 1 1 ------------

0 0

Uraditi nekoliko primera na papiru.Ovakvi primeri se lako proveravaju.Za sada oduzimati manji broj od većeg, da rezultat ne bi bio negativan.Negativni binarni brojevi biće obrađeni u nastavku.

1-1=0Ovo je jasno.

1-0=1I ovo je jasno.

0-1=? Kao kod dekadnog oduzimanja, "pozajmljuje" se 1 od broja sa sledeće veće pozicije. Taj broj biva umanjen za 1, a na aktuelnoj poziciji se dobija 10. Kod binarnih brojeva je princip isti. Broj na većoj poziciji se umanjuje za 1 (i postaje 0), a broj na aktuelnoj poziciji dobija "zajam" u vrednosti od 10 binarno. Onda od toga oduzimamo 1: 10BIN-1BIN=1BIN.S

10

0

1 1 0 1

Page 23: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 23

Binarno množenjeGuess what? Princip je potpuno isti kao kod dekadnog množenja.Samo što se sabiranje radi na binarni način, kao na odgovarajućem pokazanom slajdu.

110111·1011 110111110111 110111110111 000000000000 110111110111 10010111011001011101

Provežbati na nekoliko proizvoljnih primera na papiru.

11110011

Page 24: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 24

Binarno deljenje – uvodni slajd

Radi podsećanja, prvo će biti pokazan primer dekadnog deljenja.Pretpostavlja se da je prošlo puno vremena otkad je čitalac nešto delio "ručno".Ko se dobro seća postupka "ručnog" deljenja, neka produži na sledeći slajd.Primer je izabran skroz slučajno.

3742 : 27 =

Pogleda se prva cifra (cifra najveće težine) deljenika. Da li je veća od delioca? U našem slučaju nije (3 nije veće od 27). Ili kako se to drugačije kaže: 27 se ne sadrži u 3 ni jednom, odnosno 0 puta. U skladu sa ovim mogli bismo u rezultatu da pišemo nulu, što ne menja tačnost, ali se to preskače jer nema mnogo smisla.

Onda se uzima sledeća cifra deljenika (7) zajedno sa prvom, i posmatra se kombinacija (37). Da li je ta kombinacija veća od delioca (da li se delioc bar jednom sadrži u njoj)? Ako ne, uzećemo i treću cifru. Ali kod nas se sadrži. Od prilike treba uočiti (bar ja to radim metodom probe i greške) koliko se puta sadrži, i taj broj se napiše u rezultatu.

Kod nas je očigledno da se 27 (delioc) u 37 ne sadrži više od jednom, pa pišemo 1 kao prvu cifru rezultata...

Onda cifrom rezultata koju smo dobili množimo delioc. 1x27=27. Rezultat množenja potpisujemo ispod grupe (37).

Od grupe (37) oduzmemo potpisani broj (27), zapišemo rezultat. Pridodamo mu sledeću cifru deljenika (4).

Nadalje isto: koliko se (max.) puta 27 sadrži u 104? Zapišemo u rezultat. Pomnožimo to sa deliocem. Potpišemo. Itd.

Kada "ispucamo" sve cifre iz deljenika (što se ovde desi kada dopišemo dvojku), na rezultat stavljamo zarez, a dole dalje dopisujemo nule (jer deljenik može da se posmatra kao 3742,0000...), i računamo razlomljeni deo.

333737 112727101044

33

8181222323

88

21621600

,,33

16168181 i t d ...i t d ...

Page 25: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 25

Binarno deljenje – primer 1 od 2Na osnovu prethodnog slajda algoritam binarnog deljenja je jasan.

110111:1011= 11011

11011

1011 množimo rezultat 1 sa deljenikom 1011:1x1011=1011

oduzimanje:10

1 01 1

1011

1

0 Gotovo. Pošto su brojevi deljivi, nema decimalnog dela.

Page 26: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 26

Binarno deljenje – primer 2 od 2 (nedeljivi br.)Ovaj primer ilustruje deljenje nedeljivh br. u binarnom BS. Primer nije rađen

detaljno.Na osnovu prethodnih slajdova algoritam deljenja mora biti u potpunosti jasan.

(1001110)2=(78)10 (11101)2=(29)10

78:29=2.689655172413793103448275862069

1001110:11101=10,1011000010001...011101-------0010100000011101--------00001011000000011101----------0000001111000000011101-----------00000000001000000000000000011101----------------00000000000000110000 itd...

Naglašene nule (0) označavaju računanje razlomljenog dela, odnosno dodavanje "imaginarnih nula" da bi se proces mogao nastaviti. Već je rečeno da se deljenik može napisati (kao i svaki broj) sa beskonačno nula iza zareza, pa se te (u deljeniku nenapisane ali podrazumevane) nule "spuštaju".

Page 27: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 27

Prevođenje br. između Prevođenje br. između različitih BSrazličitih BS S obzirom na to da je za poznavanje funkcija

računara najbitnije poznavanje binarnog BS, a da se u svakodnevnom životu koristi dekadni BS, akcenat će biti stavljen upravo na prevođenje brojeva između ova dva brojna sistema. Pokazaće se da je ovaj postupak u oba smera izuzetno jednostavan, i da se može vrlo lako raditi i "napamet" (bez papira ili pomagala).

Osim binarnog, biće obrađena još dva BS, takođe bliska unutrašnjosti računara: heksadekadniheksadekadni BS (osnova: 16) i oktalnioktalni BS (osnova: 8). Pokazaće se da su ova dva BS srodna binarnom, te da su postupci prevođenja između ova tri BS gotovo trivijalni.

Na kraju ovog dela izlaganja biće dat osvrt na opšte postupke (algoritme) za prevođenje brojeva iz jednog udrugi sistem (pri čemu oba sistema imaju proizvoljnu celobrojnu osnovu).

Page 28: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 28

Prevođenje: binarni Prevođenje: binarni ↔↔ dekadni dekadni BSBS U dosadašnjem izlaganju bilo je reči samo

o binarnom BS, pa će lekcija o prevođenju započeti upravo sa njim.

Postoji dva moguća smera prevođenja: dekadni → binarni, i binarni → dekadni.

Ovi postupci se razlikuju. To valja odmah uočiti.

Smer binarni → dekadni je jednostavniji. Iz tog razloga počećemo sa njim.

Page 29: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 29

Binarni → dekadniBinarni → dekadni Setimo se kako se računa brojna vrednost broja zapisanog u

bilo kom pozicionom brojnom sistemu: tako što se izvrši sumiranje vrednosti pojedinačnih cifara, svaka pomnožena sa stepenom osnove BS (a taj stepen zavisi od pozicije cifre u zapisu broja).

Zapis broja:

Računanje vrednosti broja:

U slučaju binarnog brojnog sistema osnova je 2 (N=2) i postoje dve cifre: 0 i 1. Ova situacija je vrlo jednostavna. Vrednost binarnog broja (izražena u dekadnom sistemu) računa se po gornjoj formuli kada se N zameni sa 2, a svaka cifra sa 0 ili 1. Primer u nastavku.

,, x-1...x-(m-1)x-mxnxn-1...x1x0celobrojn

ideo broja

decimalnizarez

razlomljenideo broja

n

mi

iiN Nx )()X(

Page 30: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 30

Dekadna vrednost binarnog broja dobija se po formuli:

(ovo je konkretizovana varijanta formule s prošlog slajda)

Da bi izlaganje bilo jednostavnije, za početak se nećemo baviti razlomljenim delom binarnog broja, već samo celobrojnim binarnim brojevima. Dekadna brojna vrednost celobrojnog binarnog broja nalazi se po sledećoj formuli:

n

mi

iix )2()X( 10

n

iix

0i

)2()X( 10

U ovome je razlika! Sumiraju se pozicije počev od nulte, a ne ide se od (-m)-te pozicije kao u gornjoj,

opštijoj, formuli.

Page 31: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 31

Primer: jedan sedmocifren binarni broj: 1101001

Pozicija binarne cifre: 7 6 5 4 3 2 1Njena težina (pri računanju brojne vrednosti zapisa broja):

6 5 4 3 2 1 0

Sama binarna cifra 1 1 0 1 0 0 1Sa čim se množi? x26 x25 x24 x23 x22 x21 x20

...a to je jednako: 64 32 16 8 4 2 1Šta ulazi u sumu: 64 32 0 8 0 0 1Ukupna suma:

64 + 32 + 8 + 1 = 101055Zaključak: zna se koja binarna cifra nosi koliku vrednost (ako je njena težina p, onda ona nosi vrednost 2p). Uzmu se u obzir samo jedinice, i saberu im se pripadajuće vrednosti. Prevođenje je, dakle, jednostavno.

Page 32: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 32

Dekadni → binarni (celi Dekadni → binarni (celi brojevi)brojevi) Ova transformacija biće pokazana na

konkretnom primeru (na način na koji će se u praksi najčešće izvodi).

Nakon pokazana oba smera prevođenja, biće data opšta pravila za prevođenje iz jedne proizvoljne osnove u drugu.

Konverzija iz binarnog u dekadni zasnivala se na množenju (binarna cifra se množila stepenom osnove, i onda dodavala na sumu).

Logično je da se suprotna transformacija zasniva na – deljenju.

Page 33: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 33

REZULTAT:

Prevedimo npr. broj 44 iz dekadnog u binarni BS.

44:2 = 22 ostatak: 0

1

00

Zašto delimo dekadni broj baš sa 2? Zato što je 2 osnova ciljnog brojnog sistema (binarnog). To je najlogičniji odgovor, a u dublje razmatranje se neće ići.

22:2 = 11 ostatak: 0 Rezultat deljenja (22) se dalje deli sa 2. Ostatak deljenja biće cifra veće

težine binarnog broja. Ovom logikom ide se do kraja postupka.

11:2 = 5 ostatak: 1

1

5:2 = 2 ostatak: 1

1

2:2 = 1 ostatak: 0

0 1:2 = 0 ostatak: 1

1Postupak se završava kada se u

deljenju dođe do nule (1:2=0, ost. 1)

Ostatak (0) prvog deljenja biće cifra najmanje težine binarnog broja.

Upisujemo je na poziciju najmanje težine.

Page 34: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 34

Pravilan zapis navedenog postupka izgledao bi na sledeći način (tabela):

i 0 1 2 3 4 5 6

xi 44 22 11 5 2 1 0

yi 0 0 1 1 0 1 0

xi predstavlja cifru na poziciji i-te težine u polaznom broju, dok yi predstavlja cifru na poziciji i-te težine u ciljnom (binarnom) broju.

Donji red tabele (dobijeni binarni broj) se "čita" s desna na levo, i iznosi: 101100.

Page 35: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 35

DekadniDekadni → binarni → binarni ((rarazlomljeni zlomljeni brojevi)brojevi) Ukoliko dekadni broj ima i ceo i razlomljeni

deo, posebno se prevodi ceo, a posebno razlomljeni, te se ova dva po prevođenju spajaju.

Postupak prevođenja razlomljenog dela je sličan prevođenju celog broja, osim što se sada: umesto deljenja, vrši množenje ciljnom osnovom

(dakle množenje sa 2), i umesto da se gleda ostatak pri deljenju, ovde se

gleda da li se, pri množenju dvojkom, pojavila jedinica ispred zareza (u celom delu broja), i ako se pojavila – ona se upisuje u dobijeni binarni broj.

Ovo će biti objašnjeno na primeru koji sledi.

Page 36: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 36

Postupak prevođenja razlomljenog dekad. br. u binarni:

(0,84375)10 = (?)2 0,84375·2=1,6875

prilikom množenja dvojkom, pojavila se jedinica u celbrojnom delu čim se tu pojavila jedinica, u tabeli ispod pišemo 1 (onde gde je bin.), a na mestu gde je dekadni broj, pišemo samo razlomljeni deo a to je 0,6875

postupak ponavljamo: 0,6875·2=1,375 u binarnoj vrsti pišemo 1, a u dekadnoj pišemo 0,357

0,375·2=0,75 u binarnom delu pišemo 0, a u dekadnom pišemo 0,75

Dokle tako množimo i pišemo? Postoji mogućnost da će binarni broj imati beskonačno mnogo

decimala, tako da ovaj postupak ponavljamo do odr. tačnosti.i 0 1 2 3 4 5

x-i0,84375 0,6875 0,375 0,75 0,5 0

y-i 0 1 1 0 1 1,zarez ovde

Page 37: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 37

Čitanje rezultata iz tabele ide normalnim smerom, s leva na desno, pri čemu je prva kolona tabele zapravo celobrojni deo, a od druge kolone počinje razlomljeni, kako je to na tabeli na ovom slajdu označeno:

i 0 1 2 3 4 5

x-i0,8437

50,6875 0,375 0,75 0,5 0

y-i 0 1 1 0 1 1

Jedinica koja nastaje u prvom množenju (0,84375·2=1,6875) ne upisuje se odmah ispod, nego za 1 ćeliju desno (u prvu poz. iza zareza). Ovako redom. To važi i za dobijene nule pri množenjima, isto tako.

Rezultat je: 0,11011.

,zarez je ovde, remember!

Ovde će svakako biti nula,

jer to je celobrojni deo.

Page 38: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 38

Periodični brojeviPeriodični brojevi Poseban slučaj koji se može javiti prilikom

konverzije razlomljenog dekadnog broja u binarni, jeste slučaj periodičnog broja.

Pri ovome se misli na rezultujući, binarni broj.

Ukoliko dođe do periodičnosti, prevođenje se prekida i zadržava se jedna periodična grupa koja se može ponoviti proizvoljan broj puta (zavisno od potrebne tačnosti) – potrebe za daljim prevođenjem više nema.

Ovo će biti pokazano na narednom primeru.

Page 39: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 39

Primer periodičnog binarnog Primer periodičnog binarnog brojabroja

i 0 1 2 3 4 5 6 7 8 9 10 ...

x-i0,4 0,8 0,6 0,2 0,4 0,8 0,6 0,2 0,4 0,8 0,6 ...

y-i0 0 1 1 0 0 1 1 0 0 1 ...

Prevedimo broj (0,4)10 u binarni BS:

periodična grupa

Rezultat se zapisuje na sledeći način:

01100100110011001100102 ,...,(x)

Page 40: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 40

Prevođenje mešovitog broja:Prevođenje mešovitog broja: Posebno se prevede celi deo, a posebno

razlomljeni. Dobijeni rezultati se na kraju spoje (saberu). Primer: (67,875)10 = (1000011,111)2.

Proveriti na papiru.

Prevođenje mešovitog binarnog broja u dekadni brojni sistem najlakše se obavlja ukoliko se operacije obavljaju u dekadnom BS.

Tada se prevođenje svodi na množenje svake cifre stepenom ciljne osnove (10), pri čemu su ti stepeni, u razlomljenom delu, negativni.

Zapravo se koristi formula koja je već pokazana:

n

mi

iiN Nx )()X(

Page 41: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 41

Opšte napomene o prevođenjuOpšte napomene o prevođenju Pokazani su postupci prevođenja u oba

smera između binarnog i dekadnog BS. Generalno, moguće je prevoditi brojeve iz

bilo kog u bilo koji BS, direktno, na potpuno analogne načine.

Razlika između dva navedena načina leži u sledećem: da li se same operacije prevođenja vrše u polaznom ili ciljnom brojnom sistemu!

U navedenim primerima sve operacije su vršene u dekadnom brojnom sistemu. Pri prevođenju dek->bin, operacije su vršene u

polaznom brojnom sistemu (dekadni je polazni), dok su

pri prevođenju bin->dek operacije vršene u ciljnom BS (jer za takvo prevođenje dekadni BS je ciljni).

Page 42: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 42

Prosto rečeno: Ukoliko se operacije pri prevođenju vrše u

polaznom BS, onda se koriste one tabele, odnosno vrši se deljenje ciljnom osnovom za celi deo, odnosno množenje ciljnom osnovom za razlomljeni deo.

Ukoliko se operacije pri prevođenju vrše u ciljnom BS, onda se primenjuje množenje cifara stepenima ciljne osnove, zavisno od pozicije cifre, odnosno koristi se ona formula sa sumom.

Za pamćenje: U polaznoj osnovi: tabele. U ciljnoj osnovi (prostije): formula sa sumom.

Page 43: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 43

Heksadekadni BSHeksadekadni BS Postoji jedan BS od posebnog značaja u

računarskoj tehnici. To je heksadekadni BS, sistem sa osnovom

16. On ima, naravno, 16 različitih cifara. U nedostatku arapskih brojeva (kojih ima kao

što znamo 10), za preostale cifre koriste se slova engleske abecede.

Komplet cifara ovog BS dakle izgleda ovako: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F.

Prevedeno na dekadni BS, cifra A imala bi vrednost 10, i tako redom, do (F)16 → (15)10.

Page 44: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 44

Jedna od najosnovnijih primena heksadekadnog sistema je obeležavanje memorijskih lokacija računara. Radna memorija računara (RAM – Random

Access Memory) podeljena je na "ćelije" fiksne dužine. Dužina jedne "ćelije" varira od računara do računara. Kod prvih kućnih računara (Commodore 64 i sl) ona je iznosila jedan bajt, odnosno 8 bitova. Kod kasnijih računara iznosila je 16 bitova, da bi danas iznosila 32 odnosno 64 bita.

Jedna takva "ćelija" naziva se memorijska lokacija. Kada centralni procesor pristupa RAM-u radi čitanja ili upisa, on pristupa jednoj ćeliji u toku jednog mašinskog ciklusa. To je osnovna gradivna jedinica memorije.

Page 45: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 45

Da bi bio omogućen jedinstven pristup svakoj memorijskoj lokaciji, svaka je obeležena brojem. Taj broj se naziva "adresa". Kaže se da procesor čita podatak sa te-i-te adrese.

Interno, u samom računaru, te adrese su, kao i sve ostalo, u binarnom BS. Međutim da bi čoveku bilo olakšano snalaženje po "beskrajnom" nizu memorijskih lokacija (u doba dominacije asemblerskog programiranja), heksadekadni sistem predstavlja kompromis između nepreglednog binarnog, i računaru "neprirodnog" dekadnog BS.

On je, s jedne strane, po zapisu daleko bliži dekadnom nego binarnom BS. U njemu se čak mogu izvoditi i aritmetičke operacije sa gotovo identičnim subjektivnim osećajem kao i u dekadnom BS.

S druge strane, njegova osnova predstavlja stepen dvojke (24), što maksimalno olakšava prevođenje brojeva između ova dva BS – što će biti pokazano u nastavku.

Page 46: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 46

Prevođenje između BS sa osn. Prevođenje između BS sa osn. 2 i 22 i 2kk Odmah na početku treba reći sledeće: ova

priča važi za prevođenje između brojnih sistema sa osnovama N i Nk, dakle u najopštijem slučaju.

Izlaganje ćemo ipak započeti konkretnom situacijom (2 i 2k), koja je za računarsku praksu i najpotrebnija.

Uzmimo za primer malopre pomenuti heksadekadni BS (osnova: 24 tj. 16).

Dva broja: (101001101101)2 i (A6D)16. Iz navedenog primera vidi se da grupa od 4

binarne cifre odgovara jednoj heksadekadnoj. Grupa ima 4 cifre. Binarni BS ima osnovu 2, a

heksadekadni BS ima osnovu 24. Pravilnost je lako uočiti.

Page 47: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 47

Prevođenje hex → bin: 2FD3 = 0010111111010011

Prevođenje bin → hex: 011001011110 = 65E (ispred binarnog broja po potrebi dodamo nule

da bismo na početku dobili grupu od 4 binarne cifre, čisto da bi to lepše izgledalo).

Jasno je da postoji direktno preslikavanje između svake heksadekadne cifre i odgovarajuće grupe od 4 binarne cifre.

Ovo možemo posmatrati na sledeći način: svaka heksadekadna cifra je u binarnom BS kodirana jednom grupom od 4 binarne cifre!

Page 48: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 48

Ovde nije u pitanju pravo kodiranje, naravno, već klasično prevođenje iz jednog BS u drugi. Ali u ovom slučaju (kada su osnove tih BS u odnosu N i Nk) – to prevođenje se vrši po istim pravilima kao neko kodiranje, i to kodiranje prema sledećoj kodnoj tablici (za naše brojne sisteme, odnosno za osnove 2(BIN) i 24

(HEX)):BINBIN HEXHEX BINBIN HEXHEX

0000 0 1000 8

0001 1 1001 9

0010 2 1010 A

0011 3 1011 B

0100 4 1100 C

0101 5 1101 D

0110 6 1110 E

0111 7 1111 F

Kako je ranije već rečeno, odnos u kome stoje osnove (onaj parametar k, na koji se diže osnova prvog sistema da bi se dobila osnova drugog) određuje koliko cifara u sistemu sa manjom osnovom čini jednu grupu cifara u ovakvoj "kodnoj tablici".

U našem slučaju (osnove 2 i 24) taj parametar je 4, pa su u pitanju grupe od po 4 cifre sa binarne strane.

Page 49: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 49

Nakon svega navedenog, ovde sledi teorema koju nećemo dokazivati. Ona se odnosi na prevođenje brojeva u situaciji kada je osnova sistema N1=N2

k, gde kN, i k>1: Brojna vrednost X zapisana u brojnom

sistemu sa osnovom N2, ima isti zapis i u sistemu N1 koji je kodiran sistemom sa osnovom N2.

Teorema je data standardnom, naučnom formulacijom, koja nije laka za shvatanje. Međutim princip koji je njome iznesen već je objašnjen na način lak za razumevanje na prethodnim slajdovima.

Gornja teorema ima univerzalno važenje za proizvoljen osnove brojnih sistema koji stoje u navedenom odnosu.

Page 50: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 50

Kao primer za navedenu teoremu, a ostajući bliski domenu binarnih brojeva, možemo navesti oktalni brojni sistem, tj. sistem sa osnovom 8 (23). Ovaj BS takođe ima primenu u računarskoj nauci i industriji.

Oktalni BS ima sledeće cifre: 0,1,2,3,4,5,6,7. Prevođenje: binarni → oktalni:

001111100010101 → 17425 Prevođenje: oktalni → binarni:

473 → 010111011 → 10111011 Pošto osnove stoje u osnosu N i N3, cifre iz

BS sa manjom osnovom grupišu se u grupe od 3.

Page 51: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović - Uvod u računarstvo

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku

Računarska Računarska aritmetikaaritmetikaAritmetičke operacije nad označenim binarnim Aritmetičke operacije nad označenim binarnim brojevimabrojevima

oblast: 2/6

potpada pod: PRVI KOLOKVIJUM

Page 52: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 52

Označeni brojeviOznačeni brojevi Termin "označeni broj" odnosi se na brojeve

kod kojih postoji informacija o (pred)znaku, odnosno eventualnoj negativnoj vrednosti.

U svakodnevnom životu, u dekadnom BS, brojevi se pišu u formatu znakApsolutnaVrednostBroja.

Primer: -17,3. Znak + se ne piše već podrazumeva, osim izuzetno.

Na isti način mogu se zapisivati i brojevi u drugim brojnim sistemima.

Primer: -1010011,101 (binarni). Primer: -FFD2,3AA (heksadekadni).

Ovakav način zapisivanja znaka svojstven je čoveku, ali nepraktičan za računarsku primenu.

Page 53: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 53

Osnovni problem kod predstavljanja znaka broja u računaru jeste uvođenje znaka "-".

S obzirom na to da se svi podaci u računaru predstavljaju u vidu brojeva, i to binarnih, logično je da i znak treba predstaviti nekom cifrom.

U tom smislu mogu se razlikovati 3 načina za predstavljanje znaka broja: Klasični: predznak pa apsolutna vrednost broja,

Pri čemu je ovde znak predstavljen nekom od cifara iz BS. "Nepotpuni komplement" broja, i

Drugačiji naziv: "komplement najveće cifre". Drugačiji naziv: "(N-1) komplement".

"Potpuni komplement" broja. Drugačiji naziv: "Komplement osnove". Drugačiji naziv: "N-ti komplement".

Page 54: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 54

U nastavku će biti opisana sva tri načina za predstavljanje označenih brojeva. Videće se da se specijalan način predstavljanja zapravo primenjuje samo na negativne brojeve, a da pozitivni ostaju u nepromenjenom obliku.

Bitno je shvatiti da se ovi načini predstavljanja označenih brojeva podjednako mogu primeniti u bilo kom brojnom sistemu. Poenta je u tome da se negativni predznak predstavi cifrom.

Na taj način se označeni brojevi predstavljaju samo i jedino onim elementima koje nam stavlja na raspolaganje brojni sistem: ciframa!

Da, unutar računara to jesu najčešće binarne cifre (mada je na početku izlaganja rečeno da postoje računari koji rade u drugim brojnim sistemima), ali ovo izlaganje važi uopšte, u svakom brojnom sistemu.

Page 55: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 55

0 za )1(

0 za ][ 1 xXNN

xXX nZA

Klasično: Klasično: ZnakZnakApsolutnaVrednostApsolutnaVrednost Kod ovakvog predstavljanja znaci se kodiraju

sledećim ciframa: + se kodira sa cifrom 0 (najmanja cifra tog BS) – se kod. sa cifrom (N-1) (najveća cifra tog BS)

(N je osnova BS) Broj X, zapisan na ovaj način, izgledaće ovako:

Valja zapaziti da ovakav zapis označenih brojeva dozvoljava 2 načina da se zapiše nula, praktično je moguće napisati i +0 i -0.

Osnovni nedostatak ovakvog zapisa broja je u tome što je u računaru, prilikom matematičkih operacija, potrebno dodatno vreme da se isprocesira kod znaka.

Page 56: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 56

Ovakav zapis brojeva (ZnakApVred ili skraćeno ZA) se zbog toga ne koristi u unutrašnjosti računara, prilikom matematičkih operacija i skladištenja podataka.

On se koristi jedino prilikom komunikacije računara sa spoljašnjim svetom.

Iz navedenih razloga za ovu predstavu brojeva neće biti rađeni primeri.

Da bi se izbegli dodatni koraci u procesiranju podataka, koji su potrebni za analizu kôda znaka broja, koriste se druge dve predstave označenih brojeva: nepotpuni, i potpuni komplement broja.

Njihova prednost leži u tome što se matematičke operacije nad njima vrše bez ikakve analize znaka broja.

Page 57: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 57

Nepotpuni komplement (NK) Nepotpuni komplement (NK) brojabroja Drugi, ravnopravni, nazivi za ovu

predstavu su: komplement najveće cifre, i (N-1) komplement (N - osnova brojnog

sistema). Poseban naziv - u slučaju binarnih brojeva:

jedinični komplement. Ovo zato što je osnova binarnog sistema N=2, pa je N-1=1,

ili drugačije rečeno: najveća cifra koju taj BS poznaje je: 1.

Definicija nepotpunog komplementa broja:

Nepotpuni komplement broja dobija se tako što se:svaka cifra tog brojasvaka cifra tog broja

oduzme od najveće cifre tog brojnog sistemaoduzme od najveće cifre tog brojnog sistema.

Znak minus zamenjuje se najvećom cifrom BS.

Primeri na sledećem slajdu.

Page 58: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 58

PrimerPrimerii nepotpunog nepotpunog komplementakomplementa Dekadni brojni sistem:

Osnova dekadnog BS je 10, tj. N=10 (N-1)=9, što je najveća cifra koju poznaje dekadni

BS Uzmimo bilo koji broj za primer: X=-312,84 Podsećanje:

znak (minus) se zamenjuje najvećom cifrom brojnog sistema najveća cifra dekadnog BS je 9 svaka cifra se zamenjuje njenom dopunom do najveće cifre:

prva cifra 3 se zamenjuje sa 9-3=6 (jer 6 dopunjuje 3 do 9) druga cifra 1 se zamenjuje sa 9-1=8 itd.

[X]NK=9687,15.

Binarni BS: sve je isto, samo što je kod bin. BS najveća cifra

1: X=-1001101,1001 [X]NK=10110010,0110

Page 59: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 59

Pozitivni brojevi zadržavaju oblik kakav imaju, odnosno komplement pozitivnog broja je sâm taj isti broj.

(Pred)znak broja se kodira cifrom, i to: pozitivan predznak se kodira najmanjom cifrom BS

(nulom), a negativan predznak se kodira najvećom cifrom

brojnog sistema. Obratiti pažnju na sledeće: na jednom od prethodnih slajdova dat

je zapis broja X zavisno od toga da li je pozitivan ili negativan. Tu se radilo o broju X (veliko slovo). Ovde se sada radi o pridodatoj cifri ispred broja (xn+1). Cifra je obeležena malim slovom x.

Malo slovo n označava težinu krajnje leve cifre broja u originalu (pre komplementiranja), dakle težinu cifre koja ima maksimalnu težinu. To nije isto što i veliko N (koje označava osnovu brojnog sistema).

0X za 1

0X za 0][ 1 N

x NKn

Kao i u prethodnom slučaju (zapis tipa ZnakAbsVred), i ovde postoje 2 prestave za nulu – nije jednoznačno!xn+1 je cifra ispred broja (na poziciji znaka)

Page 60: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 60

Broj X (veliko slovo), zapisan u nepotpunom komplementu, izgleda ovako:

0X za

0X za ][ 2 xNN

XX mnNK

broj X u nepotp.

komplementu

Osnova brojnog sistema podignuta na stepen za 2 veći od pozicije cifre najveće težine broja

X. Npr. broj 32DEC je dvocifren; najveću težinu ima cifra 3, a

njena težina je 1 (3x101), jer se u celobrojnom delu težine broje od nule. Dakle, n+2 će biti 3, broj će

biti 103, odnosno 1000 (četvorocirfen, tj. za dve cifre

veći od 32).

Apsolutna vrednost broja X

m je broj cifara u razlomljenom

delu broja, odnosno pozicija

cifre najmanje težine (npr. za

broj 32,435DEC m je 3, jer najmanja pozicija je 10-3)

N-m zapravo predstavlja jedinicu na

poziciji najmanje težine u broju (jedinicu na poslednjoj decimali).

Ovo na prvi pogled možda deluje nejasno. Primer na sledećem slajdu će ga učiniti jasnijim.

Page 61: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 61

0X za

0X za ][ 2 xNN

XX mnNK

Uzmimo za primer broj iz dekadnog sistema, npr. -32,41. Cifra maksimalne težine (3) nalazi se na poziciji 1 (u

smislu da se množi sa N1 odn. 101). Samim tim u gornjem izrazu n=1.

U tom smislu, inače, prva cela cifra (2) je na poziciji 0 (jer se množi sa N0 tj 100 tj 1). Pozicije se u celobrojnom delu broje počev od nul(t)e.

Cifra minimalne težine nalazi se na poziciji 2 (u razlomljenom delu), pa je samim tim u gornjem izrazu m=2.

U razlomljenom delu, za razliku od celobrojnog, pozicije počinju da se broje od 1, a ne od 0, zato što se vrednost prve razlomljene cifre množi sa N-1, tj kod nas u dekadnom primeru sa 10-1 tj 0,1.

Nepotpuni komplement broja -32,41 u skladu sa gornjim izrazom dobijamo ovako:

58,96701,041,321000]41,32[ NK

Radi preglednosti izraz sa prethodnog slajda stoji i ovde:

Page 62: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 62

Na prethodnom slajdu je dat formalni matematički način za dobijanje NK broja u proizvoljnom BS.

U praksi, NK je najjednostavnije dobiti "ručno" tako što će se: minus zameniti najvećom cifrom tog BS svaka cifra oduzeti od najveće cifre BS, i to što se dobije kao

razlika upisati na mesto te cifre. Prethodni primer (-32,41), urađen "ručno", izgledao bi:

minus postaje 9, jer to je najveća cifra dekadnog BS umesto 3 pišemo (9-3), a to je 6 umesto 2 pišemo (9-2), a to je 7 umesto 4 pišemo (9-4), a to je 5 umesto 1 pišemo (9-1), a to je 8.

Time smo dobili nepotpuni komplement broja -32,41. On iznosi: 967,58.

Formalni NK – dekadni primerFormalni NK – dekadni primer

Page 63: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 63

Formalni NK – binarni primerFormalni NK – binarni primer Sve prethodno navedeno je isto i u binarnom

(kao i u bilo kom) BS. U binarnom slučaju važi: osnova BS N=2; najveća cifra BS je 1; najmanja cifra BS je 0; težine i ovde idu kao i kod svih BS:

u celobrojnom delu počinju od 0 (i idu do n), a u razlomljenom od 1 (i idu do m).

Posmatrajmo primer: X=-10110001,1011. m=4 (najveća prisutna težina u razlomljenom delu) n=7 (najveća prisutna težina u celom delu)

[X]NK=1000000000-(10110001,1011)-0,0001 Ovo uraditi na papiru! [X]NK=101001110,0100

Page 64: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 64

I kod binarne varijante je, naravno, najlakše uraditi komplementaciju "ručno": umesto minusa staviti 1 (najveća cifra) svaku cifru oduzeti od 1 (zapravo zameniti 0 i 1

svuda) -10110001,1011 -> 101001110,0100

(iza znaka samo su nule i jedinice promenile mesta)

Da bi ovo izlaganje bilo upotpunjeno, biće dat primer sa heksadekadnim BS: X=-3E,A6 Formalno: [X]NK = 1000-(3E,A6)-0,01 = FC1,59

Sve operacije se odigravaju u heskadekadnom sistemu! "Ručno": [X]NK = FC1,59

F ide na mesto minusa F-3=C F-E=1 F-A=5 F-6=9

Page 65: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 65

Potpuni komplement (PK) Potpuni komplement (PK) brojabroja Drugi, ravnopravni, nazivi za ovu

predstavu su: komplement osnove, i N-ti komplement (N - osnova brojnog sistema).

Poseban naziv - u slučaju binarnih brojeva: dvojični komplement.

Ovo zato što je osnova binarnog sistema N=2.

Definicija potpunog komplementa broja:

Potpuni komplement broja dobija se tako što se:

odredi nepotpuni komplement tog broja,odredi nepotpuni komplement tog broja,a zatim se doda jedinica u poziciju najmanje težinea zatim se doda jedinica u poziciju najmanje težine.

Primeri na sledećem slajdu.

Page 66: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 66

Formalni izraz za PK i primerFormalni izraz za PK i primer Na sličan način na koji je to urađeno za NK, biće

dat formalni matematički izraz za računanje PK:

0X za

0X za ][ 2 xN

XX nPK

U slučaju potpunog komplementa predstava nule je (konačno) jednosmislena, odnosno jedinstvena!

Primer za PK: Uzmimo, na primer, neki binarni broj: X=(-1011,01) [X]NK=10100,10 (nepotpuni komplement)

+ 1 (dodata jedinica u poziciju najmanje težine)

-------------- [X]PK=10100,11 (broj X u potpunom komplementu)

Page 67: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 67

Osnovi aritmetike označenih Osnovi aritmetike označenih brojevabrojeva U okviru ovog kursa biće obrađeno samo

sabiranje označenih brojeva, u proizvoljnom BS. Primeri će biti urađeni u:

dekadnom BS, radi ilustracije, i u binarnom BS, jer je to, sa aspekta računara, realan slučaj.

Akcenat će biti stavljen na sabiranje u kome učestvuje jedan negativan broj, ali predstavljen na način koji odgovara unutrašnjoj predstavi računara (komplement). Sabiranje pozitivnih brojeva ne donosi ništa novo. Sabiranje u kome učestvuje negativan broj zapravo

predstavlja oduzimanje, tako da je ovim pokrivena i ta računska radnja

Množenje i deljenje označenih brojeva (na način kako se to odvija u računaru) je izvan opsega ovog kursa.

Page 68: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 68

TeoremeTeoreme

Primer za sabiranje u NK:

X=111,11 Y=(-100,10)[X]NK=111,11 [Y]NK=1011,01

XNK+YNK= 111,11 1011,01 -------- 10011,00 prenos ispred znaka se 1 odseče i doda u poziciju -------- najmanje težine, i dobije se 11,01 rezultat!

Sabiranje u NK (teorema): saberu se brojevi u NK, uključujući i mesto za znak, prenos na mestu znaka broja se odbaci... ...i doda se na poziciju najmanje težine.

Sabiranje u PK (teorema): saberu se brojevi u PK, uključujući i mesto za znak, i prenos na mestu znaka se odbaci (i ništa više).

1

Primer za sabiranje u PK:

X=111,11 Y=(-100,10)[X]NK=111,11 [Y]NK=1011,01

[X]PK=111,11 [Y]PK=1011,10

XPK+YPK= 111,11 1011,10 -------- prenos kod znaka broja se 10011,01 ovde jednostavno ignoriše...

rezultat!

+1

Page 69: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović - Uvod u računarstvo

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku

Predstavljanje Predstavljanje podataka u podataka u računaruračunaru

oblast: 3/6

potpada pod: PRVI KOLOKVIJUM

Page 70: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 70

O podacimaO podacima Sve što postoji od podataka u računaru, tamo

stoji u vidu brojeva. Svako slovo teksta koji je otkucan. Svaki ton pesme koja je snimljena. Svaka tačkica (pixel) slike koja je na ekranu.

Pažnja. Ovde nije akcenat na tome da li su to binarni ili neki drugi brojevi. Važno je shvatiti da su brojevi. Sve unutar mašine su brojevi. Do sada smo već naučili da su u našim računarima

to brojevi iz binarnog brojnog sistema, mada ne mora da bude tako, postoje računari koji rade u drugim BS.

Za početak ovog dela izlaganja zaboravićemo na to da li su binarni ili nisu. Bitno je da su brojevi.

Pažnja.

Page 71: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 71

(Jedna od) podela podataka (Jedna od) podela podataka u rač.u rač. Dakle, svaki podatak koji računar ima u

sebi predstavljen je brojem.

Sa druge strane, podatke (uopšte uzevši) je moguće podeliti na dve grupe: numeričke (brojčane) podatke, i nenumeričke (ostale) podatke.

Inače, ovde se nećemo baviti time kako i u kom obliku podaci ulaze u računar. Zanima nas samo ono što je već unura.

Page 72: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 72

Primeri za oba tipa podataka:

Numerički (brojčani podaci) su podaci u računaru koji simbolišu neke veličine ili odnose, odnosno predstavljaju neke brojne vrednosti "iz života".

Primer: brojevi indeksa studenata.

Nenumerički podaci su podaci u računaru koji sadrže neku informaciju koja se u spoljnom svetu (van računara) ne može predstaviti brojevima. Primera ima mnogo više nego primera za numeričke podatke:

običan tekst, formatirani tekst (npr. tabela sa imenima studenata), slika, video zapis, audio zapis, jednačina ili formula, program (izvorni kôd ili prevedeni-izvršni program) itd.

Page 73: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 73

Pošto se u računaru sve predstavlja nekim brojevima, to važi sledeće:

Numerički podaci (brojevi iz realnog života) se u računaru predstavljaju brojevima. Ovo je logično, ali nije tako jednostavno, zato što je neophodno

brojeve u računaru predstaviti na način koji je njemu (računaru) "razumljiv", odnosno

po formatu prilagođen načinu na koji su projektovani njegovi delovi (procesor, magistrala, memorija itd).

Primer: recimo da računar ima 32-bitne memorijske lokacije; u tom slučaju svaki broj mora biti na neki način uklopljen u 32 binarnih cifara i tu nema odstupanja!

Page 74: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 74

Ali i nenumerički podaci se predstavljaju brojevima! Problem koji ovde nastaje jeste velika raznolikost

nenumeričkih podataka: najrazličitiji tekstovi sa mnogo propratnih informacija o formatu, web dokumenti sa takođe mnogo različitih formata, baze podataka sa formatima koje diktiraju kompanije, slike (bitmapirane, vektorske, kompresovane ili ne...), zvuci (u različitim kvalitetima, sa ili bez kompresije...), programi (prevedeni ili ne, sa dodatnim informacijama), biblioteke funkcija, resursi za izvršenje programa... itd. Na sreću još uvek nije pronađena konverzija mirisa u brojeve.

Svaki podatak nenumeričkog tipa prevodi se u niz brojeva, predstavljenih na način blizak računaru.

Sve transformacije se dalje vrše nad tim brojevima, a podaci se takođe u tom formatu skladiraju na masovnim memorijskim medijima (magnetnim, optičkim itd).

Page 75: Uvod U Racunarstvo - Martin Jovanovic

Predstavljanje numeričkih Predstavljanje numeričkih podatakapodataka Pre daljeg izlaganja pogledati dodatni

dokument pod nazivom: "Digresija 1: Pojednostavljena priča o funkcionisanju računara i problemima predstavljanja numeričkih podataka".

Ovaj dokument predstavlja uvod za nastavak ovog izlaganja. Izdvojen je kao poseban da bi ova prezentacija bila preglednija.

Page 76: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 76

Numerički podaci mogu biti neoznačeni i označeni.

Osnovna razlika, u smislu predstavljanja u računaru, leži u tome što se, kod označenih brojeva, jedan bit odvaja za znak. Samim tim, za predstavljanje samog broja

(njegove apsolutne vrednosti), na raspolaganju stoji jedan bit manje. A posledica toga je smanjenje opsega brojeva koji se mogu na taj način predstaviti.

Primer (sa celim brojevima): ako je računar 32-bitan, neoznačen ceo broj se predstavlja sa 32 bita, što znači da je moguće predstaviti cele brojeve od 0 do 232-1=4294967295. Ako pak jedan bit odvojimo za znak, ostaje nam 31 bit za predstavljanje apsolutne vrednosti, tako da opseg prema negativnim brojevima ide od -1 do -231=2147483648, a prema pozitivnim brojevima od 0 (smatra se pozitivnim) do 231-1=2147483647.

Page 77: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 77

U programerskoj praksi se podrazumeva da su brojevi označeni. Neoznačeni brojevi se koriste u retkim slučajevima, i tada se u programu posebno naznači (recimo, u nekim jezicima, dodavanjem prefiksa unsigned) da će dati broj biti smatran neoznačenim. Ovo se uglavnom radi sa celim brojevima.

Osim na označene i neoznačene (pri čemu ćemo od sad raditi samo sa označenim), numerički podaci se dele na celobrojne (integer) i razlomljene.

Page 78: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 78

Razlomljeni brojevi se dalje dele na: brojeve sa fiksnim zarezom (fixed), i brojeve sa pokretnim zarezom (float).

Reč "float" znači plutati. U engleskom jeziku ona se koristi za ovaj tip podataka, tako da u srpskom postoji i izraz "brojevi u plivajućem zarezu", gde je "plivajući" sinonim za "pokretni".

Brojevi u fiksnom zarezu su oni brojevi kod kojih se unapred zna broj pozicija za razlomljeni deo. U pitanju su (u računaru), naravno, pozicije za binarne brojeve.

Brojevi u pokretnom zarezu se tako predstavljaju da je moguće imati više ili manje pozicija za razlomljeni deo, zavisno od potrebe. Dele se na: one sa jednostrukom tačnošću (float), i one sa dvostrukom tašnošću (double).

Kod ovih je ostavljeno više bitova za razlomljeni deo.

Page 79: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 79

Konačna podela izgledala bi ovako:

Brojevi (numerički podacipredstavljeni u računaru)

OznačeniNeoznačeni

Celobrojni Razlomljeni

Fiksni zarez Pokretni zarez

Jednostrukatačnost

Dvostrukatačnost

Retko, mahomcelobrojni

Page 80: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 80

Predstavljanje celobrojnih Predstavljanje celobrojnih podatakapodataka Koristi se binarna dvostruka reč (doubleword):

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Broj se predstavlja u dvojičnom komplementu. Opseg: od -231 do 231-1.

Kôd znaka

Page 81: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 81

Brojevi u fiksnom zarezuBrojevi u fiksnom zarezu m pozicija za razlomljeni deo, n pozicija za celi deo 1 pozicija za znak.

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Kôd znaka Celi deo Razlomljeni deo

U našem primeru: m=21, n=10. m+n+1=32. Broj pozicija za razlomljeni deo zavisi od

konkretne izvedbe računara, ili konkretnog rešenja u jeziku u kome se programira.

Page 82: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 82

Primer brojeva u fiksnom Primer brojeva u fiksnom zarezuzarezu Under construction

Page 83: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 83

Brojevi u pokretnom zarezuBrojevi u pokretnom zarezu Ovo je nauniverzalniji način predstavljanja

brojeva. Broj se predstavlja u eksponencijalnom

obliku:R=m·be

R – vrednost brojam – mantisab – osnova brojnog sistemae – eksponent

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Kôd znaka Eksponent Mantisa

Page 84: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 84

Stari oblik mantise:m=0,1bbbbbbb

b{0,1} (ovo znači da se podrazumeva nula, i

jedinica, a ono što piše u samom zapisu broja, u memorijskoj lokaciji, to su ostale cifre, obeležene sa bbbbb).

Novi (normalizovani) oblik mantise:m=1,bbbbbb

b{0,1} Kod ovog oblika mantise, podrazumeva se

jedinica, a ono što je iza zareza – to je ono što zapravo stoji u memorijskoj lokaciji.

Page 85: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 85

Predstavljanje bilo kog broja u pokretnom zarezu ide na sledeći način: Mantisa je uvek razlomljena! Ako nam treba ceo broj, onda to "štimujemo"

eksponentom. Primer: broj 10 (binarno).

mantisa će biti (normalizovani oblik): 1,0 pošto se kod normalizovanog oblika mantise podrazumeva

jedinica ispred decimalnog zareza, to će zapravo u zapisu broja, u delu za mantisu, biti samo nule

sve ove cifre su binarne eksponent će biti: 1 (binarno, mada je to isto i

dek.) samim tim, konačna vrednost broja je:

1,0·101=10. sve cifre su binarne!

Page 86: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 86

Primer brojeva u pokretnom Primer brojeva u pokretnom zarezuzarezu Under construction

Page 87: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 87

Pokretni zarez – dvostruka Pokretni zarez – dvostruka tačnosttačnost Razlika je jedino u tome što se ovde odvaja više

binarnih pozicija za manticu, te se samim tim neka vrednost može predstaviti sa većom preciznošću, odnosno tačnošću.

Umesto jedne lokacije, koriste se dve (ukupno 64 bita). Recimo to bi moglo izgledati ovako (zamišljen primer):

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 063 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32

Znak Exponent Mantisa: 52 bita

Page 88: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 88

Primer brojeva sa dvostr. Primer brojeva sa dvostr. tačnošćutačnošću Under construction.

Page 89: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 89

Predstavljanje Predstavljanje nenenumeričkih numeričkih podatakapodataka Kako je rečeno ranije u tekstu, svi podaci,

pa i nenumerički, predstavljaju se brojevima.

U okviru ovog kursa biće pokazano kako se predstavljaju: slike, brojevi (na drugi način) i slova (tekst).

Predstavljanje slike biće pomenuto ilustrativno, radi pojašnjenja opšteg principa.

Page 90: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 90

Predstavljanje slike – uvodni Predstavljanje slike – uvodni primerprimer U okviru ovog kursa nećemo se detaljno

baviti ovom problematikom, pa će ovaj uvodni deo samo služiti kao priprema za nastavak izlaganja.

Slika na ekranu sastoji se od tačaka (mozaik). Ona zapravo predstavlja matricu tačaka (npr. 1024x768 tačaka) koje svetle u određenim bojama i formiraju sliku.

Jedna tačka naziva se pixel (izraz je usvojen u srpskom jeziku, i isključivo se koristi: "piksel").

Page 91: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 91

Svaki pojedinačni piksel sastoji se od 3 dela. Svaki od ta tri dela daje pikselu jednu boju:

crvenu (red), zelenu (green) i plavu (blue).

Dokazano je da se kombinacijom ove tri osnovne boje može dobiti bilo koja boja.

Ovakav pristup formiranju boja kod piksela naziva se RGB pristup (RedGreenBlue).

Jedan piksel dobija određenu boju tako što svaki od njegova tri dela učestvuje sa svojom bojom u određenom intenzitetu (osvetljaju).

Intenzitet boje svake od 3 komponente jednog piksela se označava brojem!

Page 92: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 92

Neka slika bude veličine 1024x768 piksela. To je ukupno 786432 piksela. Svaki od piksela ima po 3 komponente. Intenzitet osvetljaja boje svake komponente

je predstavljen nekim brojem. To je ukupno 786432·3=2359296 brojeva.

Niz tih brojeva je zapravo način na koji se slika predstavlja u memoriji računara!

Postoje mnogi drugi načini za predstavljanje slike, ali ovaj je najprostiji i najosnovniji.

Na analogni način se predstavljaju i zvuci, animacije itd (sve na svoj način, ali brojevima!).

Page 93: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 93

Bilo kakva transformacija nad slikom (promena kolorita slike, ili jasnoće, ili osvetljenja itd) koju radimo u nekom programu za manipulaciju slikama, se u računaru izvodi zapravo kao niz nekih matematičkih operacija nad brojevima koji čine unutrašnju predstavu te slike u računaru.

Primer: ako damo komandu za zatamnjenje slike, na primer, za 10%: Program uzima brojeve koji čine sliku, jedan po

jedan. Slika je, naravno, smeštena negde u memoriji,

počev od neke memorijske lokacije, u nizu uzastopnih lokacija. Procesor zna gde je smeštena.

Svaki broj koji uzme, procesor će umanjiti za 10% (množi ga sa 0,9) i vratiti ga na lokaciju sa koje ga je uzeo.

Page 94: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 94

O diskretnom predstavljanju O diskretnom predstavljanju podatkapodatka Nakon što smo stekli sliku kako se nenumerički

podaci predstavljaju u računaru, vreme je da usvojimo neke činjenice iz opšte teorije opšte teorije diskretnog predstavljanja podatakadiskretnog predstavljanja podataka.

Azbuka je konačan neprazan skup simbola koji se koriste za predstavljanje podataka.

Simbol (ili znak) je nedeljiva jedinica: velika i mala slova azbuke, dekadne cifre i specijalni znaci.

Dopisivanjem simbola jednog za drugim dobija se niz simbola jedne azbuke koji se zove reč.

Podsup skupa svih reči koje se mogu sastaviti od slova neke azbuke je jezik nad tom azbukom.

Page 95: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 95

KodiranjeKodiranje Kodiranje je uspostavljanje uzajamno-

jednoznačne korespondencije između elemenata nekog skupa i reči neke azbuke. Neka je zadat skup B od n objekata: B={b1,

…,bn}. Neka je azbuka A sast. od m simbola: A={a1,

…,am}. Ako se svakom objektu bi iz B pridruži po jedna

reč azbuke A, onda se dobijeni skup reči K zove kôd informacija B u azbuci A.

Proces pridruživanja reči azbuke A elementima skupa B zove se kodiranje, a suprotan proces – dekodiranje.

Page 96: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 96

Osobine koje kOsobine koje kôôd može imatid može imati Ako su sve reči supa K različite, kôd je

jednoznačan. U suprotnom je višeznačan. Ako sve reči koje čine kôd imaju istu dužinu, kaže

se da je kod ravnomeran. Ako izabrani ravnomerni kôd obuhvata sve

moguće reči dužine q nad azbukom A, kaže se da je kôd potpun.

U suprotnom je nepotpun.

Page 97: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 97

Binarno kodiranjeBinarno kodiranje Sve informacije kod današnjih računara

kodiraju se rečima binarne azbuke A={0,1}.

O razlozima za ovo bilo je reči na početku. Kodiranje rečima binarne azbuke naziva se

binarno kodiranje. Ovo ima univerzalno značenje. Na primer kod

predstavljanja slike, svaka boja je predstavljena brojem (kombinacijom 3 broja za R,G i B komponentu). Naravno, u pitanju je binarni broj. Dakle izvršeno je binarno kodiranje boja. S obzirom da je jezik kojim je izvršeno kodiranje konačan, to je i broj boja koje se mogu predstaviti u računaru – konačan.

Page 98: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 98

Kodiranje znakova (teksta)Kodiranje znakova (teksta) U nastavku ćemo se pozabaviti kodiranjem

znakova. Svaki računar ima svoju slovnu azbuku,

koja se sastoji iz znakova. Kao što je napred navedeno, oni se dele

na: brojeve, slova i specijalne (upravljačke, kontrolne itd) znake.

Jedan pojedinačni znak ima uobičajen naziv "character" (ta reč je kao takva, fonetski prevedena, usvojena i kod nas – "karakter").

Page 99: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 99

Dva najpoznatija standardna binarna kôda su: ASCII, i

ASCII (čita se "aski") je skraćeno od: American Standard Code for Information Interchange.

Ovaj kôd je 7-bitan (slova su dužine 7 binarnih cifara). EBCDIC.

EBCDIC (čita se "ebsidik") je skraćeno od: Extended Binary Coded Decimal Interchange Code).

Ovaj kôd je 8-bitan. I jedan i drugi se predstavljaju kodnom

tablicom. Kodne tablice skinuti sa istog sajta kao i ovo. Kao što se može videti, puno znakova ima

upravljačko značenje (npr: LF – Line Feed, znak štampaču da preskoči jednu liniju).

Ovi kôdovi služe kao jezik za komunikaciju između različitih delova računarskog sistema (na primer za komunikaciju sa štampačem).

Page 100: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 100

BCD kBCD kôôdovidovi Poseban slučaj binarnog kôda je BCD kôd. BCD znači Binary Coded Decimal. Ovo su posebni kôdovi za predstavljanje

cifara iz dekadnog brojnog sistema. Postoji nekoliko varijanti BCD kôda

8421 (tzv. "prirodni" BCD kôd), 2421 (tzv. "Ajken" BCD kôd), 5421, BCD kôd "višak 3" itd.

Kod kôdova koji su imaju brojeve u nazivu, radi se o težinama koje se pripisuju binarnim ciframa. Kod kôda 8421 težine su iste kao kod binarnog BS, pa se zato on naziva "prirodnim".

Page 101: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 101

Nekoliko najpoznatihih BCD kôdova dato je u priloženoj BCD kodnoj tablici.

Za BCD kôd se kaže da je komplementaran (ili da ispunjava uslov komplementarnosti) ukoliko važi sledeće:

43214321 xxxxxxxx 9

Drugačije rečeno: ako je kôd broja 0 recimo 0000, onda je kôd broja 9 – 1111. Zbir 0+9 je 9, a svaka cifra u kôdu prvog broja je komplement odgovarajuće cifre u kôdu drugog broja. Tipičan takav kôd je Ajken.

Isto važi i za brojeve 1 i 8. Njihov zbir je 9, i za njih su Ajken kôdovi: 0001 i 1110, respektivno. Ovde se još bolje vidi da su sve cifre u kôdovima komplementarne.

2 i 7: 0010 i 1101... itd.

Page 102: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 102

Kodne tablice za ASCII, EBCDIC Kodne tablice za ASCII, EBCDIC i BCDi BCD Kodne tablice odgovarajućih kodova

nalaze se u priloženim dokumentima.

Page 103: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 103

Kodiranje - primeriKodiranje - primeri Under construction.

Page 104: Uvod U Racunarstvo - Martin Jovanovic

Martin Jovanović U v o d u r a č u n a r s t v o

Elektronski fakultet u Nišu - Katedra za računarsku tehniku i informatiku 104

End of Part OneEnd of Part One

Prezentaciju pripremio:dipl. ing. Martin Jovanović

asistent-pripravnik Elektronskog fakulteta u Nišu