Uvod U Racunarstvo - Martin Jovanovic
-
Upload
martin-jovanovic -
Category
Education
-
view
7.768 -
download
9
description
Transcript of 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.
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
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
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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
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).
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.
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.
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
→
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(
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
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.
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
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
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 ...
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.
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".
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).
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.
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(
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.
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.
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.
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.
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.
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.
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
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.
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.
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)
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(
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).
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.
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.
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.
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.
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.
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!
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.
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.
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.
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
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.
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".
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.
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.
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.
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.
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
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)
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.
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:
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
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
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
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.
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)
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.
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
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
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.
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.
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.
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!
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).
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.
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.
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.
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.
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
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
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.
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
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
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.
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!
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
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
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.
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.
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").
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!
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!).
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.
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.
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.
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.
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.
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").
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).
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".
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.
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.
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.
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