Title: Digitalna tehnika
1Digitalna tehnika
Prof. Biljana Vidakovic
2Brojni sistemi
- Brojni sistemi su sistemi simbola za oznacavanje
skupova. - Za osnovu brojnog sistema može se uzeti bilo
koji broj veci od 1. - Pored decimalnog brojnog sistema sa osnovom
10 (prirodni brojni sistem za covjeka) najpoznati
brojni sistemi su - binarni (b2) 0, 1
- oktalni (b8) 0, 1, 2, 3, 4, 5, 6, 7
- heksadecimalni. (b16) 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, A, B, C, D, E, F - U digitalnoj tehnici najpogodniji za primjenu je
binarni brojni sistem sa osnovom 2 koji
predstavlja prirodni jezik racunara. - Prednost binarnog brojnog sistema je
jednostavnost tehnicke realizacije i pouzdanost. - Nedostatak binarnog brojnog sistema je znatno
više cifarskih mjesta u odnosu na decimalni
brojni sistem.
3Decimalni i binarni brojni sistemi
- Decimalni brojni sistem ima deset razlicitih
cifara 0,1,2,3,4,5,6,7,8,9 i osnovu 10. - Svaka cifra ima zadatu težinu. Spada u pozicione
brojne sisteme. - Opšti oblik broja u decimalnom brojnom sistemu
- A an 10n an-1 10n-1 an-2 10n-2
... a1 101 a0 100 a-110-1 a-210-2
... a-m10-m - a koeficijenti sa vrijednostima od 0-9
- Opšti oblik za broj sa n cijelih i m razlomljenih
mjesta - A an bn an-1 bn-1 an-2 bn-2 ... a1
b1 a0 b0 a-1b-1 a-2b-2 ...
a-mb-m - b osnova (baza)
- n1 broj cjelobrojnih cifara
- m broj decimala
4Decimalni i binarni brojni sistemi
- Binarni brojni sistem ima osnovu 2 i dvije cifre
0 i 1. - Svaka cifra ima zadatu težinu tj. spada u
težinske brojne sisteme. - Opšti oblik broja u binarnom brojnom sistemu
- A an 2n an-1 2n-1 an-2 2n-2
... a1 21 a0 20 a-12-1 - a-22-2 ... a-m2-m
- a koeficijenti sa vrijednostima od 0 i 1
- Svaki clan u nizu ima težinu dvostruko vecu od
prethodnog clana. -
5Decimalni i binarni brojni sistemi-primjeri
- 198410 1103 9102 8101 4100
- 11000 9100 810 41
- 1000 900 80 4 1984
- 100112 124 023 022 121 120
- 116 08 04 12 11 16 2 1 19
- 12,310 1101 2100 310-1
- 110 21 30,1
- 1020,3 12,3
-
6Oktalni i heksadecimalni brojni sistemi
- Oktalni brojni sistem ima osnovu 8 i cifre
0,1,2,3,4,5,6 i 7. - Svaka cifra ima zadatu težinu tj. spada u
težinske brojne sisteme. - Opšti oblik broja u oktalnom brojnom sistemu
- A an 8n an-1 8n-1 an-2 8n-2
... a1 81 a0 80 a-18-1 - a-28-2 ... a-m8-m
- a koeficijenti sa vrijednostima od 0 do 7.
- Oktalni brojevi manji od nule se vrlo rijetko
upotrebljavaju. -
7Oktalni i heksadecimalni brojni sistemi
- Heksadecimalni brojni sistem ima osnovu 16 i
cifre 0,1,2,3,4,5,6,7,8,9 a za vece brojeve
koriste se slova A 10 -
B 11 - C 12
- D 13
- E 14
- F 15
- Svaka cifra ima zadatu težinu tj. spada u
težinske brojne sisteme. - Opšti oblik broja u oktalnom brojnom sistemu
- A an 16n an-1 16n-1 an-2 16n-2
... a1 161 a0 160 a-116-1 - a-216-2 ... a-m16-m
- a koeficijenti sa vrijednostima od 0 do 9 i od
A do F. - Heksadecimalni brojevi manji od nule se vrlo
rijetko upotrebljavaju. -
8Primjer
9Konverzije brojnih sistema
- Opšta formula
- cjelobrojni dio
- cjelobrojni dio (a) u novu bazu b
- a b r1 i ostatak o1
- r1 b r2 i ostatak o2
- r2 b r3 i ostatak o3
- ...
- rn b 0 i ostatak on
- ----------------------------------
- rezultat on ... o3 o2 o1
10Konverzije brojnih sistema
- Opšta formula
- razlomljeni dio
- razlomljeni dio (a) u novu bazu b
- a b c1,r1 tj. cjelobrojni dio c1 i
razlomljeni dio r1 - r1 b c2,r2 tj. cjelobrojni dio c2 i
razlomljeni dio r2 - r2 b c3,r3 tj. cjelobrojni dio c3 i
razlomljeni dio r3 - ...
- rn b cn,0 tj. cjelobrojni dio cn i
razlomljeni dio 0 - ------------------------------------------
- Rezultat c1 c2 ... cn
- Problem ako razlomljeni dio ne bude 0
11Konverzija decimalnog broja u binarni i obrnuto
- Broj 37,62510 konvertovati u binarni brojni
sistem. - 37 2 18 i ostatak 1
- 18 2 9 i ostatak 0
- 9 2 4 i ostatak 1
- 4 2 2 i ostatak 0
- 2 2 1 i ostatak 0
- 1 2 0 i ostatak 1
- ----------------------------------
- rezultat 100101
- Razlomljeni dio 0,0625
- 0,625 2 1,25 tj. cjelobrojni dio 1 i
razlomljeni dio 0,25 - 0,25 2 0,5 tj. cjelobrojni dio 0 i
razlomljeni dio 0,5 - 0,5 2 1,0 tj. cjelobrojni dio 1 i razlomljeni
dio 0 - -----------------------
- rezultat 101
- Konacan rezultat 100101,1012 dobije se
spajanjem cjelobrojnog i razlomljenog dijela
12Konverzija decimalnog broja u binarni i obrnuto
- (1101011,01)2 1 26 1 25 0 24 1 23
0 22 1 21 1 20, 0
2-1 1 2-2 64 32 0
8 0 2 1,0 ¼ (107,25)10 - -----------------------
- rezultat 107,2510
13Konverzija binarnih brojeva u oktalne i obrnuto
- Pošto je 8 23 znaci da za jedan jednocifreni
oktalni broj treba tri bita. - Binarni broj se dijeli u grupe po tri bita
pocevši od pozicionog zareza. - Primjer
- 1101011011112 110 101 101 111 65578
- 6 5 5
7 -
----------------------- - Oktalni broj se takode jednostavno pretvara u
binarni - Primjer
- 701528 111 000 001 101 010
1110000011010102 - 7 0 1 5 2
- -----------------------
14Konverzija oktalnih brojeva u decimalne i obrnuto
- Broj 64310 konvertovati u oktalni brojni sistem.
-
1 2 0
3 - 643
- -512 1 83
- 131
- -128 2 82
- 3
- - 0 0 81
- 3
- - 3 3 80
- 0
- rezultat 12038
15Konverzija oktalnih brojeva u decimalne i obrnuto
- Primjer
- (1267)8 7 80 7
- 6 81 48
- 2 82 128
- 1 83 512
- -------------
- 69510
- rezultat 69510
16Konverzija binarnih brojeva u heksadecimalne i
obrnuto
- Pošto je 16 24 znaci da za jedan jednocifreni
heksadecimalni broj trebaju cetiri bita. - Binarni broj se dijeli u grupe po cetiri bita
pocevši od pozicionog zareza. - Primjer
- 10011010000111112 1001 1010 0001 1111
9 A 1 F - 9A1F16
- Heksadecimalni broj se takode jednostavno
pretvara u binarni - Primjer
- E6A216 E 6 A 2
11100110101000102 - 1110 0110 1010 0010
17Konverzija heksadecimalnih brojeva u decimalne i
obrnuto
- Primjer Broj 701,62510 konvertovati u
heksadecimalni brojni sistem. - 701 16 43 i ostatak 13 ? D
- 43 16 2 i ostatak 11 ?
B - 2 16 0 i ostatak 2
- -------------------------------
--- - rezultat 2ED
- Primjer Broj 1E9B16 konvertovati u decimalni
brojni sistem. - 1 E 9 B 16
-
-
nulta cifra B iz tabele 11 -
-
-
- 783510
prva cifra 9 iz tabele 144
druga cifra E iz tabele 3584
treca cifra 1 iz tabele 4096
18heksadecimalni ?? oktalni
- Preko binarnog brojnog sistema.
- Primjer
- A316 101000112
- 0101000112 2438
19Racunske operacije binarni brojni sistem
20Racunske operacije binarni brojni sistem
- Množenje
- Deljenje
- nulom nije dozvoljeno
- jedinicom - trivijalno
21Racunske operacije binarni brojni sistem
110 -101 --- 001
110 x 11 -------- 110
110 ----------- 10010
1001 11 11 ---- 100 -011
----- 0011 -0011 ------ 0000
22Racunske operacije oktalni brojni sistem
54,3 -45,4 ---- 6,7
123 x 21 -------- 123
246 ----------- 2603
2603 21 123 ---- 26 -21 ----
50 -42 ---- 63 -63 -----
0
23Racunske operacije heksadecimalni brojni sistem
2C -25 ---- 7
53 x 11 -------- 53 53 -----------
583
583 11 53 ---- 58 -55 ----
33 -33 ---- 0
1A0 x 13 -------- 4E0
1A0 ----------- 1EE0
24Predstavljanje cjelobrojnih brojevau racunaru
- Svaka memorijska celija u racunaru ima 8 bitova
jedan bajt. - u jedan bajt se može smjestiti broj u rasponu od
0 255 - Ako je cjelobrojna vrijednost veca od 255, uzme
se više bajtova - dva bajta 16 bita 0 65535
- cetiri bajta 32 bita 0 4.294.967.295
25Predstavljanje negativnih brojeva
- Preko znaka i apsolutne vrijednosti
- komplikovan algoritam za sabiranje i oduzimanje
- Preko komplementa
- jednostavan algoritam za sabiranje i oduzimanje
26Predstavljanje negativnih brojeva komplementom
- Potpuni komplement (u binarnom brojnom sistemu se
još zove i komplement dvojke). - Nepotpuni komplement (u binarnom brojnom sistemu
se još zove i komplement jedinice). - U oba sistema se poslednja cifra koristi za znak
broja (pozitivan ili negativan).
27Potpuni komplement
- broj x
- n cifara
- baza b
- Potpuni omplement (x) bn1 x
28Potpuni komplement
- Primjer
- x 00102210
- n 3
- b 2
- Potpuni komplement (2) 231 2
- 100002 00102 11102
znak!
znak!
29Potpuni komplement
- Primjer
- x 11102-210
- n 3
- b 2
- Potpuni komplement (-2) 231 (-2)
- 100002 11102 00102
znak!
znak!
30Sabiranje sa potpunim komplementom
- Pravilo
- A B A Potpuni komplement(B)
- Rezultat Prenos
- Ako je Prenos 1 onda je Rezultat korektan.
- Ako je Prenos 0 onda je rezultat negativan
(stvarni rezultat je potpuni komplement od
rezultata sa negativnim predznakom).
31Primjer
- 01012 00102 01012 11102 100112
- 00012 00102 00012 11102 011112
- Stvarni rezultat - Potpuni komplement(11112)
- 100002 11112 - 000012
prenos
prenos
32Prekoracenje (overflow)
- Javlja se kada se prilikom sabiranja dva broja
dobije rezultat koji ne može da stane u zadati
broj bitova - Pravilo
- ako se prilikom sabiranja dva pozitivna ili dva
negativna broja dobije broj suprotnog znaka,
dogodilo se prekoracenje. - Primjer
- 01012 01002 10012 (5 4 9)
- 10012 10102 100112 ((-7)(-6) -13)
33Nepotpuni komplement
- broj x
- n cifara
- baza b
- Nepotpuni komplement (x) (bn1 -1) x
34Nepotpuni komplement
- Primjer
- x 00102210
- n 3
- b 2
- Nepotpuni komplement (2) (231 -1) 2
- (100002 00012) 00102 11012
znak!
znak!
35Nepotpuni komplement
- Primjer
- x 11012-210
- n 3
- b 2
- Nepotpuni komplement (-2) (231 -1) (-2)
- (100002 - 00012) 11012 00102
znak!
znak!
36Sabiranje sa nepotpunim komplementom
- Pravilo
- A B A Nepotpuni komplement(B)
- Rezultat Prenos
- Ako je Prenos 1 onda je
- konacan rezultat rezultat bez prenosa 1.
- Ako je Prenos 0 onda je rezultat negativan
(stvarni rezultat je nepotpuni komplement od
rezultata sa negativnim predznakom).
37Primjer
- 01012 00102 01012 11012 1 00102
- Pravi rezultat 00102 1 00112
- 00012 00102 00012 11012 011102
- Stvarni rezultat - Nepotpuni komplement(11102)
- 100002 00012 - 11102 - 000012
prenos
prenos
38Sracunavanje komplementa bez oduzimanja!
- Potpuni komplement invertovati sve bitove i
dodati 1. - Primer 00102 gt 11012 1 11102
- Nepotpuni komplement invertovati sve bitove.
- Primer 00102 gt 11012
39Predstavljanje cjelobrojnih brojevau racunaru
- Svaka memorijska celija u racunaru ima 8 bitova
jedan bajt. - u jedan bajt se može smestiti broj u rasponu od
- 0 255, neoznacen
- -128 127, oznacen, u potpunom/nepotpunom
komplementu - Ako je cjelobrojna vrednost veca od 128/255, uzme
se više bajtova - dva bajta 16 bita
- 0 65535, neoznacen
- -32768 32767, oznacen, u potpunom/nepotpunom
komplementu - cetiri bajta 32 bita
- 0 4.294.967.295, neoznacen
- -2.147.483.648 2.147.483.647, oznacen, u
potpunom/nepotpunom komplementu
40Predstavljanje razlomljenih brojeva u racunaru
- U nepokretnom zarezu
- fiksna pozicija decimalnog zareza.
- U pokretnom zarezu (floating point)
- brojevi se predstavljaju u obliku m be
- m mantisa
- b baza
- e eksponent
- U memoriji racunara se pamte mantisa i eksponent
kao cjelobrojne oznacene vrednosti, najcešce sa
bazom 2.
41Pokretni zarez
- Sabiranje odn. oduzimanje - prije sabiranja
(oduzimanja) brojevi se svedu na isti eksponent - m1 be m2 be (m1 m2) be
- Množenje, odn. deljenje
- (m1 be1) (m2 be2) (m1 m2) b(e1e2)
- Svodenje eksponenata na istu vrijednost se svodi
na smanjenje/povecanje eksponenta, uz istovremeno
dijeljenje/množenje mantise bazom - u racunaru se dijeljenje/množenje matise bazom 2
svodi na pomijeranje desno/lijevo bitova.
42Pokretni zarez
- Normalizovana mantisa kada je
- b-1 m 1
- U praksi se normalizacija mantise svodi na zapis
1,xxxx, gde se 1 podrazumijeva - Tada je preciznost najveca.
- Pokretni zarez u racunarnima, u nekim situacijama
nije dovoljno precizan! - razlog je taj što je baza 2, pa konverzija
decimalnih brojeva u oblik m 2e ne daje okrugao
broj. - greška je veoma mala, ali se uzastopnim
operacijama može akumulirati.
43Kodiranje alfanumerickih informacija
- Alfanumericki simboli
- numericki simboli (0, 1, ..., 9)
- slovni simboli (A, B, ..., Z)
- inteprunkcijski znakovi (, . ...)
- specijalni simboli (, , , ...)
- Standardi
- ASCII (American Standard Code for Information
Interchange) - ISO 8859-1
- Windows CP 1250
- Unicode
44Kodovi za detekciju i korekciju grešaka
- Koncentrisacemo se na binarni brojni sistem. Sve
informacije ce biti kodirane binarno! - Uzrok pojave grešaka.
- Kodovi za detekciju grešaka
- u stanju su da detektuju grešku, ali ne i da je
koriguju - Kodovi za korekciju grešaka
- detekcija i korekcija grešaka
45Kodovi za detekciju grešaka
- Najjednostavnije je da se doda još jedan bit tako
da ukupan broj jedinica u poruci bude paran ili
neparan. - Primer
- originalna poruka 001101
- sa dodatnim bitom (uk. br. jedinica paran)
- 0011011
- sa greškom 0001011
- vidimo da je došlo do greške pošto je ukupan broj
jedinica neparan! - Greške od više od jednog bita mogu da produ
nedetektovane! - 1111011
46Karakter za provjeru bloka
- b1 b2 b3 b4 p1
- b5 b6 b7 b8 p2
- p3 p4 p5 p6 p7
- U slucaju greške od jednog bita bilo gdje, moguce
je detektovati i korigovati grešku - b1 b2 b3 b4 p1
- b5 b6 b7 b8 p2
- p3 p4 p5 p6 p7
47CRC kod
- Cyclic Redundancy Character
- Poruka se kao niz bitova dijeli sa nekim
unaprijed dogovorenim brojem, rezultat se
odbacuje a ostatak pri dijeljenju se doda uz
poruku. - Na prijemnoj strani se primljena poruka dijeli
istim brojem i ostatak se poredi sa primljenim
ostatkom.