1 / 47

Digitalna tehnika

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.

Download Presentation

Digitalna tehnika

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Digitalna tehnika Brojni sistemi Prof. Biljana Vidaković

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

  3. Decimalni i binarni brojni sistemi • 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 bn-1 + an-2 bn-2 + ...+ a1 b1 + a0 b0 + a-1b-1+a-2b-2 + ...+ a-mb-m • b – osnova (baza) • n+1 – broj cjelobrojnih cifara • m – broj decimala

  4. Decimalni 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 član u nizu ima težinu dvostruko veću od prethodnog člana.

  5. Decimalni i binarni brojni sistemi-primjeri • 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

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

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

  8. Primjer

  9. Konverzije 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

  10. Konverzije 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

  11. Konverzijadecimalnog 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 • Konačan rezultat: 100101,1012 dobije se spajanjem cjelobrojnog i razlomljenog dijela

  12. Konverzijadecimalnog 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

  13. Konverzijabinarnih 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 -----------------------

  14. Konverzijaoktalnih 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

  15. Konverzijaoktalnih brojeva u decimalne i obrnuto • Primjer (1267)8= 7 ∙80 = 7 + 6 ∙81 = 48 + 2 ∙82 = 128 + 1 ∙83 = 512 ------------- 69510 • rezultat 69510

  16. Konverzijabinarnih 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

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

  18. heksadecimalni  oktalni • Preko binarnog brojnog sistema. • Primjer: A316 = 101000112 0101000112 = 2438

  19. Računske operacije – binarni brojni sistem • Sabiranje: • Oduzimanje:

  20. Računske operacije – binarni brojni sistem • Množenje: • Deljenje: • nulom nije dozvoljeno • jedinicom - trivijalno

  21. Računske operacije – binarni brojni sistem 110 -101 --- 001 11 +11 --- 110 110 x 11 -------- 110 + 110 ----------- 10010 1001 : 11 = 11 ---- 100 -011 ----- 0011 -0011 ------ 0000

  22. Računske operacije – oktalni brojni sistem 54,3 -45,4 ---- 6,7 447 +652 ---- 1321 123 x 21 -------- 123 + 246 ----------- 2603 2603 : 21 = 123 ---- 26 -21 ---- 50 -42 ---- 63 -63 ----- 0

  23. Računske operacije – heksadecimalni brojni sistem 2C -25 ---- 7 127 +1AA ---- 2D1 53 x 11 -------- 53 + 53 ----------- 583 583 : 11 = 53 ---- 58 -55 ---- 33 -33 ---- 0 1A0 x 13 -------- 4E0 + 1A0 ----------- 1EE0

  24. 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 od0 – 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

  25. Predstavljanje negativnih brojeva • Preko znaka i apsolutne vrijednosti • komplikovan algoritam za sabiranje i oduzimanje • Preko komplementa • jednostavan algoritam za sabiranje i oduzimanje

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

  27. Potpuni komplement • broj x • n cifara • baza b • Potpuniomplement (x) = bn+1 – x

  28. Potpuni komplement • Primjer: x = 00102=210 n = 3 b = 2 Potpuni komplement (2) = 23+1 – 2 = 100002 – 00102 = 11102 znak! znak!

  29. Potpuni komplement • Primjer: x = 11102=-210 n = 3 b = 2 Potpuni komplement (-2) = 23+1 – (-2) = 100002 – 11102 = 00102 znak! znak!

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

  31. Primjer • 01012 – 00102 = 01012 + 11102 = 100112 • 00012 – 00102 = 00012 + 11102 = 011112 Stvarni rezultat: - Potpuni komplement(11112) = 100002 – 11112 = - 000012 prenos prenos

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

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

  34. Nepotpuni komplement • Primjer: x = 00102=210 n = 3 b = 2 Nepotpuni komplement (2) = (23+1-1) – 2 = (100002– 00012)– 00102 = 11012 znak! znak!

  35. Nepotpuni komplement • Primjer: x = 11012=-210 n = 3 b = 2 Nepotpuni komplement (-2) = (23+1 -1)– (-2) = (100002 - 00012) – 11012 = 00102 znak! znak!

  36. Sabiranje sa nepotpunim komplementom • Pravilo: A – B = A + Nepotpuni komplement(B) = Rezultat + Prenos • Ako je Prenos = 1 onda je konačan rezultat = rezultat bez prenosa + 1. • Ako je Prenos = 0 onda je rezultat negativan (stvarni rezultat je nepotpuni komplement od rezultata sa negativnim predznakom).

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

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

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

  40. 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 – mantisa b – baza e – eksponent • U memoriji računara se pamte mantisa i eksponent kao cjelobrojne označene vrednosti, najčešće sa bazom 2.

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

  42. 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 ∙2ene daje okrugao broj. • greška je veoma mala, ali se uzastopnim operacijama može akumulirati.

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

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

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

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

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

More Related