You are on page 1of 9

Digitalna tehnika

Auditorne vjebe
Tema 1 Brojevni sustavi i kodovi

Nepozicijski brojevni sustavi: npr. rimski brojevni sustav. Nemaju neku smislenu primjenu, te
nam nisu od interesa kod projektiranja digitalnih sklopova.
Pozicijski brojevni sustavi: Vrijednost znamenke ovisi o njenoj poziciji u broju.
Npr. 325 = 3 100 + 2 10 + 5 1 = 3 10 2 + 2 101 + 5 10 0
U prikazanom primjeru broj 10 je BAZA sustava i oznaavat e se s B. Openito neki prirodni
broj N mogue je zapisati na sljedei nain:

N = a n i B n 1 + a n 2 B n 2 + ... + a 2 B 2 + a 1B1 + a 0 B 0
Pri emu su a 0 do a n 1 znamenke broja N.
Primjeri brojevnih sustava koji imaju znaajniju primjenu su:
Binarni, B = 2 , znamenke: 0,1
Oktalni, B = 8 , znamenke: 0,1,2,3,4,5,6,7
Dekadski B = 10 , znamenke: 0,1,2,3,4,5,6,7,8,9
Heksadekadski B = 16 , znamenke: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F
Decimalne brojeve takoer je mogue prikazivati u brojevnom sustavu s proizvoljnom bazom.

R = a n i B n 1 + a n 2 B n 2 + ... + a 2 B 2 + a 1B1 + a 0 B 0 + a 1B 1 + a 2 B 2 + ... + a m B m


Primjer: 325,345 = 3 10 2 + 2 101 + 5 10 0 + 3 10 1 + 4 10 2 + 5 10 3

Zadaci:
Prikaite u obliku polinoma sljedee brojeve zadane u razliitim brojevnim sustavima:
a) 10110112
b) 10110113
c) 678
d) 31,1410
e) 10110,10012
f) 2716
g) 3F,AB16

Pretvorba iz sustava s bazom B u dekadski sustav


Vri se direktno primjenom gore navedenog izraza.

Primjeri: 9B116 = 9 16 2 + B 161 + 1 16 0 = 9 256 + 11 16 + 1 1 = 2481

10112 = 1 2 3 + 0 2 2 + 1 21 + 1 2 0 = 1 8 + 0 4 + 1 2 + 1 1 = 11

Pretvorba cijelog broja iz dekadskog sustava u druge sustave


Vri se sukcesivnim dijeljenjem bazom brojevnog sustava, pri emu ostatak dijeljenja
predstavlja znamenku broja, a ostatak se dalje dijeli.

Primjeri:

2910 pretvaramo u binarni brojevni sustav:


29 : 2 = 14
14 : 2 = 7
7:2=3
3:2=1
1:2=0

ostatak 1
ostatak 0
ostatak 1
ostatak 1
ostatak 1

itamo od dna prema vrhu, pa ispada 2910 = 111012

2910 pretvaramo broj u ternarni brojevni sustav:


29 : 3 = 9
9:3=3
3:3=1
1:3=0

ostatak 2
ostatak 0
ostatak 0
ostatak 1

itamo od dna prema vrhu, pa ispada 2910 = 1002 3

2910 pretvaramo u oktalni brojevni sustav:


29 : 8 = 3
3:8=0

ostatak 5
ostatak 3

itamo od dna prema vrhu, pa ispada: 2910 = 358

2910 pretvaramo u heksadekadski brojevni sustav


29 : 16 = 1
1 : 16 = 0

ostatak 13 (D)
ostatak 1

itamo od dna prema vrhu, pa ispada: 2910 = 1D16

Pretvorba decimalnih brojeva iz dekadskog sustava u druge sustave


Posebno se pretvara cjelobrojni dio (kao to je opisano gore), a posebno decimalni dio.
Pretvorba decimalnog djela se obavlja sukcesivnim mnoenjem s bazom sustava u koji
pretvaramo, pri emu cjelobrojni dio u svakom koraku mnoenja predstavlja znamenku u
eljenoj bazi, dok se decimalni dio dalje mnoi s bazom.

Primjeri:

0,285 pretvaramo u binarni brojevni sustav

0,285 2 = 0,57
0,57 2 = 1,14 = 1 + 0,14
0,14 2 = 0,28
0,28 2 = 0,56
0,56 2 = 1,12 = 1 + 0,12

a 1 = 0
a 2 = 1
a 3 = 0
a 4 = 0
a 5 = 1

0,12 2 = 0,24

a 6 = 0

0,24 2 = 0,48

a 7 = 0

5,625 pretvaramo u binarni brojevni sustav


5,625 = 5 + 0,625
5:2=2
2:2=1
1:2=0

ostatak 1
ostatak 0
ostatak 1

0,625 2 = 1,250 = 1 + 0,250


0,250 2 = 0,5
0,5 2 = 1,0 = 1 + 0,0

5,62510 = 101,1012

29,225 pretvaramo u heksadekadski brojevni sustav


29,22510 = 2910 + 0,22510
2910 = 1D16

a 1 = 3
a 2 = 9
a 3 = 9

0,225 16 = 3,6 = 3 + 0,6


0,6 16 = 9,6 = 9 + 0,6
0,6 16 = 9,6 = 9 + 0,6

a 1 = 1
a 2 = 0
a 3 = 1

Direktno pretvaranje brojeva izmeu sustava ija je baza potencija broja 2


Za pretvorbu iz heksadekadskog u binarni, svaka znamenka se direktno pretvara u 4 bitni
binarni broj.

Primjer: A5D2A16 = 1010 0101 1101 0010 1010 2


Pretvorba iz binarnog u heksadecimalni obavlja se obrnutim postupkom. Pri tome treba paziti
da se ispred broja doda potreban broj nula, kako bi broj binarnih znamenki bio viekratnik
broja 4. U sluaju decimalnog broja treba dodati na kraju odreeni broj 0 tako da broj
decimalnih znamenki bude viekratnik broja 4.

Primjeri: 10110111010 = 0101 1011 1010 = 5BA16


10110,101 = 0001 0110 , 1010 2 = 16, A16
Pretvorba binarnog u oktalni brojavni sustav vri se istim postupkom kao i pretvorba u
heksadekadski, ali se umjesto 4 znamenke grupiraju 3 znamenke. Isto vrijedi i za pretvorbu iz
oktalnog u binarni sustav.

Primjeri: 472 8 = 100 111 010 2


1011011110,11012 = 001 011 011 110 , 110 100 2 = 1336,64 8

Zbrajanje i oduzimanje prirodnih binarnih brojeva


Pravila za zbrajanje dvaju binarnih znamenaka:
0+0=0
0+1=1
1+0=1
1 + 1 = 1 i prijenos (carry) 1

Primjeri:
111
+101
1100

111
+111
1110

1001
+1100
10101

11011
+ 101
100000

Pravila za oduzimanje dvaju binarnih znamenaka:


00=0
10=1
11=0
0 1 = 1 i zajam (borrow) s vieg brojnog mjesta 1

Primjeri:
1100
-1001
0011

11011
-10101
00110

10011
- 101
01110

10110
-10001
00101

Prikaz brojeva u modulu


U raunalima i openito u digitalnim sklopovima za prikaz brojeva koristi se konaan broj
bitova, pa iz tog razloga nije mogue prikazivati beskonano velike brojeve. Npr. ako je
veliina registra 4 bita onda nije mogue prikazati broj vei od 4 bita.Ukoliko pak se broju
doda neki drugi broj te njihova suma prelazi 4 bita u registru e biti zapisan ostatak dijeljenja
sume ta dva broja s veliinom registra.
Npr. Ukoliko je veliina registra n = 4, dakle broj moguih stanja registra m = 2 4 , a u registru
je pohranjen broj a = 1310 = 11012 , te tom broju pokuamo dodati broj b = 610 = 0110 2 , u
registar e biti pohranjen broj k = 310 = 00112 .
Pisano openito: k = (a + b)(mod m)
Najvei broj koji je mogue pohraniti u neki openiti registar dimenzija n je W = B n 1 , gdje
je B baza brojevnog sustava u kojem se pohranjuju brojevi.

Zadaci:
Adresa nekog zapisa u raunalu odreena je binarnom brojem. Koliko se razliitih
adresa moe specificirati s 4 bita, 8 bita, 16 bita ?
24 = 16
28 = 256
216 = 65536

Komplementi brojeva
Komplement se definira s obzirom na modul m u kojem je broj izraen, pri emu je m = B n .
(B je baza brojevnog sustava, a n je broj mjesta za prikaz broja u registru). U digitalnim
sklopovima interesantna nam je baza 2, pa stoga i posebno obraujemo 2-komplement.
Openito B-komplement se izraunava: N B = B n N

2-komplement
Primjer:
N = 1001011, n = 8
28 1001011 = 100000000 01001011 = 10110101
(B-1) komplement je od B-komplementa manji za 1. To je dakle komplement najveeg broja
W koji se moe zapisati u registru.
(B-1) komplement se openito izraunava: N = B n N 1
Ponovno nama je posebno zanimljiva baza 2, pa tako za binarne brojeve (B-1)-komplement
naziva 1-komplement.

Primjer:
N = 1001011, n = 8
28 1001011 - 1 = 100000000 01001011 1 = 10110100
Uoite da je 1-komplement puno lake mogue dobiti tako da se jednostavno zamijene 0 sa
jedinicama i obrnuto. VANO: Potrebo je paziti da se doda odreeni broj 0 prije samog broja
ovisno o veliini registra (n).
Sada je zgodno primijetiti da je u binarnom brojevnom sustavu, 2-komplement najlake
izraunati na nain da se prvo nae 1-komplement kojemu se potom pridoda 1.

Primjer:
N = 1001011, n = 8
1-komplement: 10110100
2-komplement: 10110101

Oduzimanje pomou komplementa.


Koristei komplement, oduzimanje dvaju brojeva svodi se na zbrajanje.
Pa vrijedi da je x y = x + B komplment od y, uz uvjet da je x > y , tj. da od veeg broja
oduzimamo manji.
U nastavku se ponovno baziramo iskljuivo na binarne brojeve, dakle na 2-komplement.

Primjeri:
100110 11 = 100110 000011 = 100110 + 2-komp(000011) = 100110 + 111101 = 100011.
1101 1001 = 1101 + 0110 + 1 = 0100
111001 1101 = 111001 001101 = 111001 + 110010 + 1 = 101100
Kod = grupa simbola kojoj je dogovoreno dano neko znaenje
Skup svih simbola koje je mogue prikazati kodnim rijeima je abeceda
Simboli i elementi abecede nazivaju se znakovi.
Veliina abecede odreuje koliko bitna treba biti jedna kodna rije.
Minimalna veliina kodne rijei n = log2K bita, pri emu je K broj znakova u abecedi.

Dekadski kodovi
Kodovi za prikaz znamenaka dekadskog sustava. Abeceda ima 10 znamenaka, dakle potrebno
nam je 4 bita. 24 = 16, pa znai da je 6 kombinacija neiskoriteno.

Kod 8421 (BCD kod) prikaz brojeva u prirodnom binarnom kodu


Primjer:
broj 18410 = 0001 1000 0100 BCD

Kod 2421 (Aikenov kod) - koristi prvih pet i zadnjih 5 brojeva iz niza od 16 binarnih brojeva.
Posjeduje vano svojstvo da je 1-komplement svake binarne kodne rijei ujedno i 9komplement pripadajue dekadske znamenke. Pa tako npr. 1-komplement od 0100 = 1011, a
pripadajue dekadske znamenke su 4 i 5, pri emu je 5 9-komplement broja 4 (9-4 = 5).
Primjer:
broj 18410 = 0001 1110 0100 2421

Kod eksces 3 (Stibitzov kod) Nije teinski kod. Dobiva se pomicanjem tako da se svakoj
kodnoj rijei koda 8421 doda broj 3 (0011). Dobro svojstvo je da niti jedna znamenka nema
sve 0, pa se prazna linija ne moe protumaiti kao 0.
Primjer:
broj 18410 = 0100 1011 0111exces-3

Grayev kod
Naziva se jos i reflektirani binarni kod. Spada u klasu kodova s minimalnom promjenom, gdje
se susjedne kodne rijei razlikuju samo za jedan bit. Kod je neteinski. Pogodan je kod
izvedbe AD pretvornika. (tablica str. 62).

Znakovni kodovi
Osim za prikaz brojeva slue i za prikaz velikih i malih slova te posebnih znakova
(interpunkcijski znakovi, )
Npr. 7-bitni ASCII kod

Kodovi za otkrivanje i ispravljanje pogreaka


Pojavom pogreke mogu nastati dva sluaja: nova rije je neka druga kodna rije iz abecede
ili pak se dobije nepostojea kodna rije.
Distanca (Hammingova distanca) ili razmak izmeu dviju kodnih rijei jest broj bita koje je
potrebno promijeniti da se jedna kodna rije pretvori u drugu.
d I (A, B) = A B

Primjer:
A = 0110, B = 1010
dI = |1100| = 2
Minimalna distanca koda, je minimalna distanca izmeu bilo koje dvije kodne rijei u kodu.
Primjer: Kod 8421 ima minimalnu distancu 1.
U nekom kodu mogue je otkriti (dI 1)-struku pogreku. Dakle ako je minimalna distanca
koda 2, tada je mogue otkriti pojavu jednostruke pogreke.

Partitet
Svakoj kodnoj rijei dodaje se paritetni bit, tako da ukupan broj jedinica u rijei bude paran
(parni paritet) ili neparan (neparni paritet). Na taj nain se povea distanca koda, pa ukoliko je
originalna distanca bila 1 (kao kod 8421 koda) dodavanjem paritetnog bita distanca postaje 2,
pa je mogue otkriti jednostruku pogreku.

Primjeri:
Napiite broj 7 u kodu exces-3 (str. 60) i zatitite ga parnim paritetom.
710 = 1010(0)
Napiite broj 7 u kodu exces-3 i zatitite ga neparnim paritetom.
710 = 1010(1)
Napiite broj 434 u kodu 8421 i zatitite ga neparnim paritetom.
43410 = 0100 0011 0100 (1)
Napiite broj 632 u kodu 8421 i zatitite ga neparnim paritetom.
63210 = 0110 0011 0010 (0)

Hammingovi kodovi
Jednim paritetnim bitom mogue je otkriti jednostruku pogreku, ali nije je mogue ispraviti.
Uvoenjem vie paritetnih bitova mogue vriti ispravak pogreke.
Kod Hammingovog koda, paritetni (ispitni) bitovi stavljaju se na lokacije 2r = 1,2,4,8...

Primjeri:
Zatite Hammingovom kodom binarnu rije: 1001
1
2
P1 P2
P1 P2
0
0

3
I1
1
1
1

4
P3
P3

5
I2
0
0

1
1

0
0

6
I3
0
0
0
0

7
I4
1
1
1
1
1

P1 = I1 + I2 + I4 = 1 + 0 + 1 = 0
P2 = I1 + I3 + I4 = 1 + 0 + 1 = 0
P3 = I2 + I3 + I4 = 0 + 0 + 1 = 1
Kodna rije je: 0011001
8

Pretpostavite da na odreditu primljena binarna rije 1011001 zatiena Hammingovim


kodom. Utvrdite da li je dolo do pogreke u prijenosu, i ako je ispravite nastalu pogreku.
(pretpostavite da su mogue jedino jednostruke pogreke).
B1 B2 B3 B4 B5 B6 B7
1
0
1
1
0
0
1
C1 = b1 + b3 + b5 + b7 = 1 + 1 + 0 + 1 = 1
C2 = b2 + b3 + b6 + b7 = 0 + 1 + 0 + 1 = 0
C3 = b4 + b5 + b6 + b7 = 1 + 0 + 0 +1 = 0
C3C2C1 = 0012 = 110
Dakle pogrean je 1. bit (B1).
1
0
1
2
P1 P2
P1 P2
0
0

1
3
I1
1
1
1

1
4
P3
P3

0
5
I2
0
0

1
1

0
0

0
6
I3
0
0
0
0

1
7
I4
1
1
1
1
1

You might also like