28
BROJNI SISTEMI, BINARNA ARITMETIKA I KODOVI

Brojni Sistemi i Konverzije

Embed Size (px)

Citation preview

Page 1: Brojni Sistemi i Konverzije

BROJNI

SISTEMI, BINARNA

ARITMETIKA I KODOVI

Page 2: Brojni Sistemi i Konverzije

Tradicionalni brojni sistem, koji se izučava u školi, i koji se koristi u svakodnevnom životu, naziva se dekadni brojni sistem.

U ovakvom sistemu, broj se predstavlja nizom cifara, a pozicijisvake cifre odgovara određena težina (značaj).

1863=11000+8100+610+31.

Uopšteno, broj S oblika c2c1c0.c-1c-2 ima vrijednost

S=c2102+c1101+c0100+c-110-1+c-210-2.

Ovdje se 10 naziva osnova brojnog sistema (dekadni brojnisistem) i jednaka je broju cifara koje se koriste u ovom sistemu0,1,2,3,4,5,6,7,8,9.

U opštem slučaju, vrijednost proizvoljnog broja S u brojnomsistemu sa osnovom B jednaka je:

S c Bii

i n

p=

=−

−∑ 1gdje je 0 1≤ ≤ −c Bi

Page 3: Brojni Sistemi i Konverzije

Binarni brojni sistem

Dekadni brojni sistem pokazuje se vrlo komplikovanim zarealizaciju elektronskih kola za računanje.

Za ove svrhe, koristi se tzv. binarni sistem.

Binarni brojni sistem ima za osnovu 2, a zapisuje se pomoćucifara iz skupa od dva elementa {0,1}.

Binarnom zapisu 1001111101 ekvivalentna suma 637 u dekadnom brojnom sistemu, jer je:

1 2 0 2 0 2 1 2 1 2 1 2 1 2 1 2 0 2 1 2 6379 8 7 6 5 4 3 2 1 0× + × + × + × + × + × + × + × + × + × =

Konverzija broja iz binarnog sistema u broj u dekadnom sistemu.

Page 4: Brojni Sistemi i Konverzije

Proceduru pretvaranja brojeva iz dekadnog u binarni brojni sistemilustrovaćemo na primjeru broja 637.14.

318:2=159159:2=7979:2=3939:2=1919:2=99:2=44:2=22:2=11:2=0

637:2=318 1011111001

ostatak

zapis

0.14x2=0.280.28x2=0.560.56x2=1.120.12x2=0.240.24x2=0.480.48x2=0.960.96x2=1.920.92x2=1.840.84x2=1.680.68x2=1.36

0010001111

zapis

Očigledno, je da važi jednakost 637.1410=1001111101.0010001111...2, iz kojese zapaža da je dobijen binarni broj sa deset mjesta iza zareza, a da, ni sa tihdeset mjesta, nije potpuno tačno određen.

Page 5: Brojni Sistemi i Konverzije

Oktalni brojni sistemOktalni brojni sistem ima za osnovu B=8, a brojevi u njemuzapisuju se pomoću cifara iz skupa od osam elemenata{0,1,2,3,4,5,6,7}.

Broj 1175.107534 iz ovog sistema, saglasno izrazu (13.1), imasumu:

1 8 1 8 7 8 5 8

1 8 0 8 7 8 5 8 3 8 4 8637 14

3 2 1 0

1 2 3 4 5 6

× + × + × + × +

+ × + × + × + × + × + × ==

− − − − − −

.Pri konverziji iz binarnog u oktalni brojni sistem, binarni broj se dijeli u grupe sa po tri cifre, pa se te grupe pretvore u dekadni sistem i tako dobijene cifre po redosljedugrupisanja zapišu.

PRIMJER Pretvoriti binarni broj 1011010111.10 u oktalni broj.

1 1 1 1 1 1 1 1

1

0 0 0 0 000 .

3 2 7 . 4

po tri cifre

Page 6: Brojni Sistemi i Konverzije

Pretvaranje oktalnog broja u binarni broj vrši se pretvaranjemsvake cifre oktalnog broja u po tri cifre binarnog broja.

PRIMJER Pretvoriti oktalni broj 3721.4 u binarni broj.

11 1 1 1 1 1 10 0 0 0 0 0 0.

3 7 2 1 . 4

Page 7: Brojni Sistemi i Konverzije

Heksadecimalni brojni sistemHeksadecimalni brojni sistem ima za osnovu B=16, a brojevi u ovom sistemu imaju cifre iz skupa{0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F}, gdje: A, B, C, D, E i F odgovaraju u dekadnom sistemu vrijednostima: 10, 11, 12, 13, 14 i 15, respektivno.

Pretvaranje brojeva iz binarnog u heksadecimalni brojni sistem je sličnopretvaranju brojeva iz binarnog u oktalni brojni sistem, s tim što se ovdjegrupisanje vrši u po četiri cifre.

PRIMJER Pretvoriti binarni broj 1011011110.1 u heksadecimalni broj

1 1 1 1 1 1 10 0 00 000 .

.

1

2 D E 8

po ~etiri cifre0

Page 8: Brojni Sistemi i Konverzije

Broj iz heksadecimalnog pretvara se u broj iz binarnog brojnogsistema tako što se svaka cifra heksadecimalnog broja pretvori u po četiri cifre iz binarnog brojnog sistema.

PRIMJER Pretvoriti heksadecimalni broj 2DE.8 u binarni broj.

1 1 1 1 1 1 10 0 00 0.

.

1

2 D E 8

0

Binarni i heksadecimani sistemi - kraće zapisivanje binarnih brojeva.

Page 9: Brojni Sistemi i Konverzije

BINARNA ARITMETIKA

Za bilo koji brojni sistem, pa i za binarni, nužno je definisati osnovne operacije(sabiranje, oduzimanje, množenje i dijeljenje) u njemu.

Binarno sabiranjeI pri binarnom sabiranju, slično kao i pri sabiranju u dekadnom brojnom sistemu, sabiranje se vrši po kolonama.

Kod sabiranja u dekadnom sistemu javlja se potreba prenosa u "značajniju" kolonu samo onda kad je zbir jedne kolone višecifren (9+4=3, prenos 1; 8+8+5=1, prenos 2).

U binarnom sistemu prenos se vrši prema šemi

0+0=0 prenos 00+1=1 prenos 01+0=1 prenos 01+1=0 prenos 1

Page 10: Brojni Sistemi i Konverzije

PRIMJER Sabrati binarne brojeve10111110 i 10001101.

11 1 1 100

011 110 0 0+

011 000

1 1XY

X+Y

1

1 11

1019

+ 1 14

331

prenos 1 100

Binarno oduzimanje

Operacija oduzimanja binarnih brojeva zasnovana je na istim principima kao i kod dekadnih brojeva, s tim što se, umjesto komplementa desetke, koristikomplement dvojke.

Jedinični komplement nekog binarnog broja dobija se oduzimanjem tog brojaod binarnog broja najviše vrijednosti sa istim brojem cifara.

Page 11: Brojni Sistemi i Konverzije

PRIMJER Naći jedinični komplement binarnog broja 100110011.

Oduzimanjem datog broja od broja 111111111 dobija se

1 1 1 1 10 0 0 0

0 0

1 1 1 1 1 1 1 1 1-

1111 0 00

Komplement dvojke (dvojni komplement jedinice) dobija se kad se jediničnomkomplementu doda jedinica (bitu najmanje težine).

Primijenjeno na prethodni primjer, dobija se

011001100+1=011001101

Page 12: Brojni Sistemi i Konverzije

Oduzimanje u binarnom sistemu svodi se na sabiranje umanjenika sakomplementom dvojke umanjioca.

PRIMJER Od binarnog broja 101011 oduzeti binarni broj 10001.

Umanjenik i umanjilac moraju biti istobitni brojevi što se postiže dodavanjemnula broju sa manje bita (cjelobrojnom dijelu - lijevo, necjelobrojnom dijelu -desno).

Stoga, umanjilac 10001 biće zapisan kao 010001.

Komplement dvojke binarnog umanjioca 010001 je 101110+1=101111, pa je razlika datih brojeva jednaka zbiru ovog broja i umanjenika, odnosno

1 1 1 1

011

111 10+

1

1

0 0

010

komplement dvojke umanjioca

umanjenik

REZULTATzna~i da je rezultat pozitivan

Page 13: Brojni Sistemi i Konverzije

PRIMJER Od binarnog broja 10001 oduzeti binarni broj 101011.

Komplement dvojke binarnog umanjioca 101011 je 010100+1= 010101, pa je razlika datih brojeva jednaka zbiru ovog broja i umanjenika, odnosno

1 101 1

+1

0 00 0 komplement dvojke umanjioca

umanjenik

00

rezultat je komplement dvojkeovoga broja i negativan je1 1 1 00 0

Dobijen je šestocifreni broj, što je dimenzija jednog od zadatih elemenataoduzimanja.

To se tumači kao negativan rezultat, i tačan rezultat dobija se kao komplementdvojke dobijenog broja, tj.

011001+1= 011010

sa znakom "-".

Page 14: Brojni Sistemi i Konverzije

Binarno množenje

Za binarno množenje važi ista procedura kao i za množenje u dekadnombrojnom sistemu, s tim što je bitno jednostavnije, jer se međusobno množesamo jedinice i nule.

PRIMJER Pomnožiti binarne brojeve 1011 i 1101.

0 0 0 01 1 10

1 1 101 1 10

X 1 1 10 1 1Y 1 1 10x 1 3

3 31 1

XY 1 1 1 10 0 0 1 1 34

Page 15: Brojni Sistemi i Konverzije

Binarno dijeljenjeDijeljenje u binarnom sistemu predstavlja kombinaciju binarnog množenja i oduzimanja, a realizuje se kao što je pokazano u narednom primjeru.

PRIMJER Binarno podijeliti brojeve date u dekadnom sistemu 12 i 4.

1 1 1 1 11

11

00 0 00 0

0 00 0

0

: =

00

Dakle, procedura dijeljenja u binarnom sistemu je istovjetna kao proceduradijeljenja u dekadnom sistemu.

Page 16: Brojni Sistemi i Konverzije

KODOVI

Česta je potreba da se, iz raznih razloga (jednostavnijezapisivanje, potpunije zapisivanje, lakša realizacija operacija), neki broj iz nekog sistema, ili neki karakter (slovo, znak, simbol i slično) prevede u drugi oblik.

Za različite svrhe primjenjuju se različiti sistemi koji nose zajedničko ime kodovi.

Ovdje ćemo razmotriti neke osnovne kodove koji se često srijeću.

Page 17: Brojni Sistemi i Konverzije

BCD kodVeć smo se uvjerili da dekadnom necjelobrojnom dijelu broja sa konačnimbrojem mjesta ne odgovara obavezno necjelobrojni dio binarnog broja sakonačnim brojem cifara (637.1410=1001111101.0010001111...2).

Takođe smo se uvjerili da konverzije dekadnog u binarni broj, i obratno, nijesujednostavne.

Iz ova dva razloga pribjegava se primjeni tzv. BCD (Binary Coded Decimal) koda.

Kod BCD koda, svaka dekadna cifra pretvara se u nizove od po četiri binarnecifre prema tabeli:

Dek. cifra BCD kod Dek. cifra BCD kod0 0000 5 0101

1 0001 6 0110

2 0010 7 0111

3 0011 8 1000

4 0100 9 1001

Page 18: Brojni Sistemi i Konverzije

BCD kod je jednostavan i doprinosi rješavanju problema zapisivanjanecjelobrojnog dijela dekadnog broja konačnim brojem cifara.

Realizacija aritmetičkih operacija, kad se primjenjuje BCD kod, je dostasloženija nego kad se radi sa brojevima koji su direktno binarno zapisani. Ilustrujmo to na dva primjera sabiranja:

15

+ 9

1

0 0

0

0 0 0

0 01 11 1

1110 01 1

+

1 1

1

4

XY

X+Y

5+ 1 11

1

0 01 1+ 0

00000 01 1

0 01 1 1

korekcija

16

Očigledno, u ovim slučajevima, kad se kao zbir dobije nedozvoljeni broj za BCD kod (11102=1210 i 100002=1610), koji ne može predstavljati rezultat sabiranja, bilo je potrebno takvom zbiru dodati 610=01102.

Izložena varijanta BCD koda nosi oznaku 8421. Međutim, u primjeni su i drugevarijante ovoga koda.

Page 19: Brojni Sistemi i Konverzije

ASCII kodU sistemima za prenos informacija, kao i kod računara, prisutna je potreba dase prenese ili obradi poruka koja ne sadrži samo brojeve već i slovne znake, znakove pojedinih operacija, razne simbole i slično.

Ovakvi podaci se nazivaju alfanumerički podaci.

U realnosti, postoji potreba konverzije 87 karaktera (26 malih i 26 velikih slovaengleskog jezika, 10 cifara dekadnog sistema i 25 ostalih znaka, kao što su: +, -, =, *, /, ", !, ?, %, ...).

Za predstavljanje 87 karaktera kombinacijama 0 i 1 dovoljno je sedam bita, jerse sa 7 bita može predstaviti 27=128 različitih karaktera.

k a r a k t e rbit parnosti

U praksi je našao najširu primjenu tzv. ASCII kod (American Standard Code for Information Interchange).

Page 20: Brojni Sistemi i Konverzije

Greyov kodGreyov (Grejov) kod ima osobinu da se kombinacije bilo koja dva susjednastanja razlikuju samo za po jedan bit.

Ova osobina je pogodna sa stanovišta eventualne greške pri prenosupodataka. Ako greškom dođe do promjene jednog bita, tada će greškom zauzeto stanjebiti susjedno sa pravim.

Greyov kod sa odgovarajućim prirodnim binarnim kodom dat je u tabeli.

Tabela 13.1 Kombinacije u a) binarnom kodu i b) u Greyovom kodu.2 1 0 2 1B B B G G G0

0 0 0 0 0 0000

000

000

0 00

00

0

0

0

1

111

1 1

1

1

11 11

1

10

1

1

1

1111 1

1

1a) b)

G2=B2, G1=B2+B1, G0=B1+B0 (bez prenosa)

Page 21: Brojni Sistemi i Konverzije

U praksi se često srijeću digitalni sistemi za identifikaciju mehaničkih pozicijanekih rotirajućih djelova (kopir-aparati, autonomni kočioni sistemi, itd.). Takvisistemi su najčešće bazirani na Greyovom kodu.

0 0 1

001000111

110

101 010011100

001000

111110

101

010011

100

0 0 1

a) b)

Dvije varijante diska za korišćenje 3-bitnog koda:a) Prirodni kod; b) Greyov kod.

Page 22: Brojni Sistemi i Konverzije

Kodovi za detekciju i korekciju greškeBit parnosti.

Slanje tri puta iste informacije – neefikasan metod.

Pravougaoni kod - svaka poruka se razbije na po n-1 od po m-1 bit, i formirapravougaonik. Dodaje još po jedna vrsta i kolona, tako da, u svakoj vrsti i koloni, bude paran broj jedinica.

x x x xx

xxx

x

Primjer: poruka 01100111100 0

0

1 1 1111

1 1

11

0

0

Page 23: Brojni Sistemi i Konverzije

Neka je, prilikom prenosa poruke, došlo do greške. Naime, neka je dobijenainformacija oblika:

00

0

1 1 1111

1 1

11

0

01

Ispitivanjem parnosti zapaža se da je ona poremećena u drugoj vrsti i drugojkoloni. Dakle, došlo je do greške na bitu pozicije 2,2, shodno prethodnojilustraciji.

Postavlja se pitanje da li postoji efikasniji način za kodiranje.

U tom smislu, posmatrajmo informaciju od n bita, i proglasimo jednukombinaciju dozvoljenom.

Sve kombinacije koje se razlikuju za po jedan bit moraju se zabraniti.

Za jednu dozvoljenu, postoji n nedozvoljenih kombinacija.

Ako treba prenijeti k različitih poruka, to znači da je, za k dozvoljenih stanja, potrebno k(n+1) kombinacija.

Page 24: Brojni Sistemi i Konverzije

Kako je ukupan broj kombinacija za n bita 2n,to je neophodno da bude ispunjenuslov

k(n+1)≤2n,

odnosno da je k≤2n/(n+1).

Izražavajući k sa k=2q,

dobija oblik 2n- q≥ n+1,

odnosno 2m ≥ n+1,

gdje je m=n-q, i

izražava koliko je bita neophodno "potrošiti" za kodiranje.

Na primjer, ako je n=31 bit, tada je m=5, odnosno, 5 bita su neophodna zakodiranje, a 26 bita je moguće koristiti za informaciju.

Page 25: Brojni Sistemi i Konverzije

PRIMJER: Ilustrovati primjerom informacije od tri bita.

Moguće kombinacije (za n=3, 2n=8) ilustrovane su tačkama na tjemenima kubana slici.

a)

111

110001

010000

110

101

011

b)

1101

1000

Kako je n=3, to je m=2, odakle slijedi da se 2 bita koriste za kodiranje, a samojedan za informaciju.

Porukama se proglašavaju stanja 000 i 111.

Stanju 000 se pridružuju stanja 001, 010 i 100, dok se stanju 111 pridružujustanja 110, 101 i 011, kako je to ilustrovano strelicama na slici a.

Dakle, sva stanja, koja imaju Hammingovu distancu 1 od datog, pridružuju se tome stanju. Da bi se kod mogao koristiti za korigovanje greške, Hammingovadistanca mora biti najmanje 3(Slika b).

Page 26: Brojni Sistemi i Konverzije

PRIMJER: Posmatrajmo postupak kreiranja Hammingovog koda za poruku 7 bita.

Binarni zapis brojeva od 1 do 7 je:1 001⇒ ⇒ ⇒ ⇒ ⇒ ⇒ ⇒; 2 010; 3 011; 4 100; 5 101; 6 110; 7 111.

Iz relacije 2m≥n+1 dobija se (za n=7) da je m=3, odnosno da su 3 bitaneophodna za kodiranje.

Pozicije bita za kodiranje, kod Hammingovog koda određuju se tako daodgovaraju težinama u binarnom sistemu 1,2,4,8,...

U sedmobitnoj poruci prvi, drugi i četvrti bit su biti za kodiranje, dok su ostala 4 bita (3,5,6 i 7) bitovi informacije.

Jedinica u prvom bitu (bitu najmanje težine) učestvuje u binarnimkombinacijama koje odgovaraju brojevima 1,3,5,7.

Jedinica u drugom bitu učestvuje u formiranju brojeva 2,3,6,7.

Jedinica u trećem bitu učestvuje u formiranju brojeva 4,5,6,7.

Binarni zapis poremećaja odgovaraće rednom broju bita na kojem je došlo do greške.

Page 27: Brojni Sistemi i Konverzije

PRIMJER: Ilustrujmo ovo primjerom originalne poruke 0110.

Postavimo svaki bit ove poruke na odgovarajuće pozicije u Hammingovomkodu

1. 2. 3. 4. 5. 6. 7. 0 1 1 0

Kompletna poruka, u Hammingovom kodu, ima oblik:

1 1 0 0 1 1 01. 2. 3. 4. 5. 6. 7.

Neka je, usljed prenosa, došlo do greške, tako da primljena poruka ima oblik:

1 1 0 0 1 0 01. 2. 3. 4. 5. 6. 7.

Provjerimo parnosti ove poruke:provjerom parnosti na pozicijama 1,3,5,7 dobija se paran broj, upisujemo 0,provjerom parnosti na pozicijama 2,3,6,7 dobija se neparan broj, upisujemo 1,provjerom parnosti na pozicijama 4,5,6,7 dobija se neparan broj, upisujemo 1.

Page 28: Brojni Sistemi i Konverzije

Imajući u vidu da najveću težinu ima bit kod treće provjere, zatim kod druge, pa tek onda kod prve dobija se binarna kombinacija 110, čiji je dekadski ekvivalent6.

To znači da je došlo do greške na poziciji 6, što je trebalo pokazati.

Često se, kod Hammingovog koda, dodaje i osmi bit, koji predstavlja bit parnosti kompletne poruke, što dodatno povećava pouzdanost prenosainformacije.