digitalna tehnika

47
Digitalna tehnika Brojni sistemi Prof. Biljana Vidaković

Upload: blaze-phelps

Post on 04-Jan-2016

128 views

Category:

Documents


2 download

DESCRIPTION

Digitalna tehnika. Brojni sistemi. Prof. Biljana Vidaković. Brojni sistemi. Brojni sistemi su sistemi simbola za označavanje skupova. Za osnovu brojnog sistema može se uzeti bilo koji broj veći od 1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Digitalna tehnika

Digitalna tehnika

Brojni sistemi

Prof. Biljana Vidaković

Page 2: Digitalna tehnika

Brojni sistemi

Brojni sistemi su sistemi simbola za označavanje skupova.

Za osnovu brojnog sistema može se uzeti bilo koji broj veći od 1.

Pored decimalnog brojnog sistema sa osnovom 10 (prirodni brojni sistem za čovjeka) najpoznati brojni sistemi su:

binarni (b=2): {0, 1} oktalni (b=8): {0, 1, 2, 3, 4, 5, 6, 7} heksadecimalni. (b=16): {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 računara. Prednost binarnog brojnog sistema je jednostavnost tehničke realizacije i

pouzdanost. Nedostatak binarnog brojnog sistema je znatno više cifarskih mjesta u

odnosu na decimalni brojni sistem.

Page 3: Digitalna tehnika

Decimalni brojni sistem ima deset različitih 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 b

n-1 + an-2 bn-2 + ...+ a1 b

1 + a0 b0 + a-1b

-1+ a-2b-2

+ ...+ a-mb-m

b – osnova (baza) n+1 – broj cjelobrojnih cifara m – broj decimala

Decimalni i binarni brojni sistemi

Page 4: Digitalna tehnika

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 2

n-1 + an-2 2n-2 + ...+ a1 2

1 + a0 20 + a-12

-1 +

a-22-2+ ...+ a-m2-m

a – koeficijenti sa vrijednostima od 0 i 1 Svaki član u nizu ima težinu dvostruko veću od prethodnog člana.

Decimalni i binarni brojni sistemi

Page 5: Digitalna tehnika

198410 = 1∙103 + 9∙102 + 8∙101 + 4∙100 =1∙1000 + 9∙100 + 8∙10 + 4∙1 =1000 + 900 + 80 + 4 = 1984

100112 = 1∙24 + 0∙23 + 0∙22 + 1∙21 + 1∙20 = 1∙16 + 0∙8 + 0∙4 + 1∙2 + 1∙1 = 16 + 2 + 1 = 19

12,310= 1∙101 + 2∙100 + 3∙10-1 =1∙10 + 2∙1 + 3∙0,1 = 10+2+0,3 = 12,3

Decimalni i binarni brojni sistemi-primjeri

Page 6: Digitalna tehnika

Oktalni 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 8

n-1 + an-2 8n-2 + ...+ a1 8

1 + 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.

Page 7: Digitalna tehnika

Oktalni i heksadecimalni brojni sistemi

Heksadecimalni brojni sistem ima osnovu 16 i cifre 0,1,2,3,4,5,6,7,8,9 a za veće 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.

Page 8: Digitalna tehnika

Primjer

Page 9: Digitalna tehnika

Konverzije brojnih sistema

Opšta formula cjelobrojni dio:

cjelobrojni dio (a) u novu bazu b: a : b = r1 i ostatak o1r1 : b = r2 i ostatak o2r2 : b = r3 i ostatak o3...rn : b = 0 i ostatak on----------------------------------rezultat: on ... o3 o2 o1

Page 10: Digitalna tehnika

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

Konverzije brojnih sistema

Page 11: Digitalna tehnika

Broj 37,62510 konvertovati u binarni brojni sistem.

37 : 2 = 18 i ostatak 118 : 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,06250,625 ∙ 2 = 1,25 tj. cjelobrojni dio 1 i razlomljeni dio 0,250,25 ∙ 2 = 0,5 tj. cjelobrojni dio 0 i razlomljeni dio 0,50,5 ∙ 2 = 1,0 tj. cjelobrojni dio 1 i razlomljeni dio 0-----------------------rezultat: 101

Konačan rezultat: 100101,1012 dobije se spajanjem cjelobrojnog i razlomljenog dijela

Konverzija decimalnog broja u binarni i obrnuto

Page 12: Digitalna tehnika

(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

Konverzija decimalnog broja u binarni i obrnuto

Page 13: Digitalna tehnika

Konverzija binarnih brojeva u oktalne i obrnuto Pošto je 8 = 23 znači da za jedan jednocifreni oktalni broj treba tri bita.

Binarni broj se dijeli u grupe po tri bita počevši od pozicionog zareza. Primjer:

1101011011112 = 110 101 101 111 = 65578

6 5 5 7

----------------------- Oktalni broj se takođe jednostavno pretvara u binarni Primjer:

701528 = 111 000 001 101 010 = 1110000011010102

7 0 1 5 2

-----------------------

Page 14: Digitalna tehnika

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

Konverzija oktalnih brojeva u decimalne i obrnuto

Page 15: Digitalna tehnika

Konverzija oktalnih brojeva u decimalne i obrnuto

Primjer

(1267)8 = 7 ∙ 80 = 7

+ 6 ∙ 81 = 48

+ 2 ∙ 82 = 128

+ 1 ∙ 83 = 512

-------------

69510

rezultat 69510

Page 16: Digitalna tehnika

Konverzija binarnih brojeva u heksadecimalne i obrnuto Pošto je 16 = 24 znači da za jedan jednocifreni heksadecimalni broj

trebaju četiri bita. Binarni broj se dijeli u grupe po četiri bita počevši od pozicionog zareza. Primjer:

10011010000111112 = 1001 1010 0001 1111 9 A 1 F

= 9A1F16

Heksadecimalni broj se takođe jednostavno pretvara u binarni Primjer:

E6A216 = E 6 A 2 = 11100110101000102

1110 0110 1010 0010

Page 17: Digitalna tehnika

Konverzija 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 144druga cifra = E iz tabele 3584treća cifra = 1 iz tabele + 4096

Page 18: Digitalna tehnika

heksadecimalni oktalni

Preko binarnog brojnog sistema. Primjer:

A316 = 101000112

0101000112 = 2438

Page 19: Digitalna tehnika

Računske operacije – binarni brojni sistem Sabiranje:

Oduzimanje:

Page 20: Digitalna tehnika

Računske operacije – binarni brojni sistem Množenje:

Deljenje: nulom nije dozvoljeno jedinicom - trivijalno

Page 21: Digitalna tehnika

Računske operacije – binarni brojni sistem 11

+11

---

110

110

-101

---

001

110 x 11

--------

110

+ 110

-----------

10010

1001 : 11 = 11

----

100

-011

-----

0011

-0011

------

0000

Page 22: Digitalna tehnika

Računske operacije – oktalni brojni sistem 447 +652 ---- 1321

54,3

-45,4

----

6,7

123 x 21

--------

123

+ 246

-----------

2603

2603 : 21 = 123

----

26

-21

----

50

-42

----

63

-63

-----

0

Page 23: Digitalna tehnika

Računske operacije – heksadecimalni brojni sistem 127 +1AA ---- 2D1

2C

-25

----

7

53 x 11

--------

53

+ 53

-----------

583

583 : 11 = 53

----

58

-55

----

33

-33

----

0

1A0 x 13

--------

4E0

+ 1A0

-----------

1EE0

Page 24: Digitalna tehnika

Predstavljanje cjelobrojnih brojevau računaru Svaka memorijska ćelija u računaru ima 8 bitova – jedan

bajt. u jedan bajt se može smjestiti broj u rasponu od 0 –

255 Ako je cjelobrojna vrijednost veća od 255, uzme se više

bajtova: dva bajta – 16 bita: 0 – 65535 četiri bajta – 32 bita: 0 – 4.294.967.295

Page 25: Digitalna tehnika

Predstavljanje negativnih brojeva Preko znaka i apsolutne vrijednosti

komplikovan algoritam za sabiranje i oduzimanje Preko komplementa

jednostavan algoritam za sabiranje i oduzimanje

Page 26: Digitalna tehnika

Predstavljanje 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).

Page 27: Digitalna tehnika

Potpuni komplement

broj x n cifara baza b Potpuni omplement (x) = bn+1 – x

Page 28: Digitalna tehnika

Potpuni komplement

Primjer:

x = 00102=210

n = 3

b = 2

Potpuni komplement (2) = 23+1 – 2 =

100002 – 00102 = 11102

znak!

znak!

Page 29: Digitalna tehnika

Potpuni komplement

Primjer:

x = 11102=-210

n = 3

b = 2

Potpuni komplement (-2) = 23+1 – (-2) =

100002 – 11102 = 00102

znak!

znak!

Page 30: Digitalna tehnika

Sabiranje 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).

Page 31: Digitalna tehnika

Primjer

01012 – 00102 = 01012 + 11102 = 100112

00012 – 00102 = 00012 + 11102 = 011112

Stvarni rezultat: - Potpuni komplement(11112) =

100002 – 11112 = - 000012

prenos

prenos

Page 32: Digitalna tehnika

Prekoračenje (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 prekoračenje.

Primjer:

01012 + 01002 = 10012 (5 + 4 = 9)

10012 + 10102 = 100112 ((-7)+(-6) = -13)

Page 33: Digitalna tehnika

Nepotpuni komplement

broj x n cifara baza b Nepotpuni komplement (x) = (bn+1 -1) – x

Page 34: Digitalna tehnika

Nepotpuni komplement

Primjer:

x = 00102=210

n = 3

b = 2

Nepotpuni komplement (2) = (23+1 -1) – 2 =

(100002 – 00012)– 00102 = 11012

znak!

znak!

Page 35: Digitalna tehnika

Nepotpuni komplement

Primjer:

x = 11012=-210

n = 3

b = 2

Nepotpuni komplement (-2) = (23+1 -1)– (-2) =

(100002 - 00012) – 11012 = 00102

znak!

znak!

Page 36: Digitalna tehnika

Sabiranje sa nepotpunim komplementom Pravilo:

A – B = A + Nepotpuni komplement(B) =Rezultat + Prenos

Ako je Prenos = 1 onda jekonačan rezultat = rezultat bez prenosa + 1.

Ako je Prenos = 0 onda je rezultat negativan (stvarni rezultat je nepotpuni komplement od rezultata sa negativnim predznakom).

Page 37: Digitalna tehnika

Primjer

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

Page 38: Digitalna tehnika

Sračunavanje komplementa bez oduzimanja! Potpuni komplement: invertovati sve bitove i

dodati 1. Primer: 00102 => 11012 + 1 = 11102

Nepotpuni komplement: invertovati sve bitove. Primer: 00102 => 11012

Page 39: Digitalna tehnika

Predstavljanje cjelobrojnih brojevau računaru Svaka memorijska ćelija u računaru ima 8 bitova – jedan bajt.

u jedan bajt se može smestiti broj u rasponu od: 0 – 255, neoznačen -128 – 127, označen, u potpunom/nepotpunom komplementu

Ako je cjelobrojna vrednost veća od 128/255, uzme se više bajtova: dva bajta – 16 bita:

0 – 65535, neoznačen -32768 – 32767, označen, u potpunom/nepotpunom komplementu

četiri bajta – 32 bita: 0 – 4.294.967.295, neoznačen -2.147.483.648 – 2.147.483.647, označen, u potpunom/nepotpunom

komplementu

Page 40: Digitalna tehnika

Predstavljanje razlomljenih brojeva u računaru U nepokretnom zarezu

fiksna pozicija decimalnog zareza. U pokretnom zarezu (floating point)

brojevi se predstavljaju u obliku: m ∙ be

m – mantisab – bazae – eksponent

U memoriji računara se pamte mantisa i eksponent kao cjelobrojne označene vrednosti, najčešće sa bazom 2.

Page 41: Digitalna tehnika

Pokretni 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(e1+e2)

Svođenje eksponenata na istu vrijednost se svodi na smanjenje/povećanje eksponenta, uz istovremeno dijeljenje/množenje mantise bazom u računaru se dijeljenje/množenje matise bazom 2 svodi na

pomijeranje desno/lijevo bitova.

Page 42: Digitalna tehnika

Pokretni 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 najveća. Pokretni zarez u računarnima, 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.

Page 43: Digitalna tehnika

Kodiranje alfanumeričkih informacija Alfanumerički simboli:

numerički 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

Page 44: Digitalna tehnika

Kodovi za detekciju i korekciju grešaka Koncentrisaćemo se na binarni brojni sistem.

Sve informacije će 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

Page 45: Digitalna tehnika

Kodovi 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 prođu nedetektovane!

1111011

Page 46: Digitalna tehnika

Karakter za provjeru bloka

b1 b2 b3 b4 p1

b5 b6 b7 b8 p2

p3 p4 p5 p6 p7 U slučaju greške od jednog bita bilo gdje, moguće je

detektovati i korigovati grešku:

b1 b2 b3 b4 p1

b5 b6 b7 b8 p2

p3 p4 p5 p6 p7

Page 47: Digitalna tehnika

CRC 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.