Professional Documents
Culture Documents
Brojni Sistemi 2 PDF
Brojni Sistemi 2 PDF
Brojni sistem koji čovek najčešće koristi je decimalni sistem. Iz većeg broja
razloga na koje ćemo ukazati kasnije, decimalni brojni sistem nije pogodan za korišćenje
od strane računara. Računari rade mnogo efikasnije sa podacima koji imaju binarni oblik. S
obzirom da za računare nisu pogodni decimalni "brojevi", a "operateri nisu naviknuti na
binarne brojeve", potrebno je ostvariti neki vid konverzije između ovih brojnih sistema
koja će predstavljati interfejs između čoveka i mašine.
Primer 2.1.
Osnova (base ili radix) brojnog sistema je broj simbola u sistemu. Decimalni
brojni sistem ima deset simbola 0, 1, 2, ..., 9, tj. ima 10 cifara. Svaka cifra decimalnog
sistema je 10 puta značajnija od prethodne pozicije. Na primer,
3432
pozicija 100
pozicija 101
pozicija 102
pozicija 103
Uočimo da 3 na poziciji 103 ima različito značenje od 3 na poziciji 101.
Vrednost decimalnog broja određuje se množenjem svake cifre broja vrednošću
pozicije na kojoj se javlja cifra, a nakon toga vrši se sabiranje proizvoda. Shodno tome,
broj 3432 se interpretira kao
3*103+4*102+3*100+2*100=3432
U konkretnom slučaju, krajnja desna cifra je cifra najmanje težine (LSD - least
significant digit), a krajnja leva cifra je cifra najveće težine (MSD - most significant digit).
Za decimalni razlomak N=0.6341 imamo
N=6*10-1+3*10-2+4*10-3+1*10-4.
Svaki pozicioni brojni sistem karakteriše se osnovom brojnog sistema r (ona se
označava i sa N ili B). Cifre brojnog sistema sa osnovom r uzimaju vrednosti iz skupa {0,
1, ... , r – 1}. Neka je neki broj A predstavljen sledećim nizom od n cifara:
A = an-1an-2...a1a0, (2.1)
gde je ai∈{0, 1, ... , r – 1}, 0 ≤ i ≤ n-1, tada se vrednost broja A može odrediti kao
|A| = an-1rn-1 + an-2rn-2 + ... + a1r1 + a0r0, (2.2)
odnosno
n−1
| A| = ∑ ai r i . (2.3)
i=0
Osim za cele brojeve, ovo se može primeniti i za razlomljene brojeve, tj.
n−1
|A| = an-1rn-1 + an-2rn-2 + ... + a1r1 + a0r0 + a-1r-1 + a-2r-2 + ... + a-mr-m = ∑a r . i
i (2.4)
i =− m
U računarskim sistemima se, osim decimalnog brojnog sistema, najčešće koristi
binarni brojni sistem (r = 2), oktalni (r = 8) ili heksadecimalni (r = 16) brojni sistem.
U principu, osnova brojnog sistema može biti bilo koja; 7, 11, -3, ili čak
iracionalan broj kakav je π ili e. Ipak, obično se za brojnu osnovu sistema uzima pozitivna
celobrojna vrednost. Praksa je da se, kada se broj napiše u sistemu sa brojnom osnovom
različitom od 10, posebno naglasi o kojoj se brojnoj osnovi radi. Standardno se to označava
tako što se broj stavlja u zagrade, a nakon desne zagrade pridružuje se indeks koji ukazuje
na bazu, kao na primer
(1230)4 = 1*43 + 2*42 + 3*41 + 0*40
što je ekvivalentno broju 108, ili
(364.213)7 = 3*72 + 6*71 + 4*70 + 2*7-1 + 1*7-2 + 3*7-3
= (193.314868...)10.
2. Brojni sistemi i prevođenje brojeva 15
ili
B10 = anrn + an-1rn-1 + ... + a1r1 + a0r0. (2.10)
Sada, ako B10 podelimo sa r, dobićemo
B10 a0
= (an r n−1 +K+a2 r + a1 ) +
r r (2.11)
B10 B10
= Int ( ) + Frac( )
r r
gde Int i Frac ukazuju na celobrojni i razlomljeni deo B10/r. Na osnovu jednačine (2.11)
imamo da je
B10
a0 = Rem ( ) (2.12)
r
gde Rem označava ostatak od B10/r. Ako se ovaj proces sada ponovi počev sa Int(B10/r),
naredni ostatak biće a1 a naredni celobrojni deo biće anrn-2 + an-1rn-3 + ... + a2. Proces se
produžava dok se ne generiše cifra ar. Analizirajmo slučaj kada je potrebno odrediti broj u
bazi 3 ekvivalentan broju (278)10. Proces konverzije je sledeći:
količnik ostatak
3 278
3 92 2 = a0
3 30 2 = a1
3 10 0 = a2
3 3 1 = a3
3 1 0 = a4
0 1 = a5
Zaustavi
Prema tome,
(278)10 = (101022)3
Da bi proverili da li smo izvršili konverziju korektno, izvršimo ponovo konverziju broja
(101022)3 u decimalni broj.
(101022)3 = 1*35 + 0*34 + 1*33 + 0*32 + 2*31 + 2*30
= (278)10
Prevođenje razlomljenih brojeva
Neka je sada razlomljeni broj X u sitemu sa brojnom osnovom r1 predstavljen na
sledeći način:
m
( X ) r1 = 0. x −1 x −2 K x − m+1 x − m = ∑ x − i r1−i , (2.13)
i =1
dok je taj isti broj u sistemu sa osnovom r2 predstavljen sa:
q
( X ) r2 = 0. y −1 K y − q +1 y − q = ∑y
i =1
r
−i 1
−i
. (2.14)
Ako ovaj izraz pomnožimo osnovom brojnog sistema r2, tada dobijamo
Xr2 = y−1 + y−2r2−1 + y−3r2−2 +K y− q r2− q +1 . (2.15)
2. Brojni sistemi i prevođenje brojeva 17
Prvi sabirak je sigurno celobrojni deo proizvoda (to je cifra brojnog sistema) dok
ostali sabirci predstavljaju razlomljeni deo (cifre podeljene osnovom brojnog sistema). U
stvari, celobrojni deo proizvoda predstavlja prvu cifru posle tačke osnove. Ako postupak
nastavimo sa razlomljenim delom proizvoda dobićemo i ostale cifre. Kraj algoritma je kada
razlomljeni deo proizvoda postane jednak nuli. Treba napomenuti da se ovde ne dobija
uvek apsolutna tačnost, jer neki racionalni brojevi prilikom prevođenja postaju iracionalni.
Generalno, s obzirom da se kod ovog postupka prevođenja, kako celih tako i
razlomljenih brojeva, operacije izvršavaju u brojnom sistemu sa osnovom r1 (tj. u sistemu
iz koga se prevodi), možemo reći da je pogodno da se ovaj postupak primeni kada se
brojevi prevode iz dekadnog u neki drugi brojni sistem.
Primer 2.2.
Brojevi u opštem slučaju imaju razlomljeni deo i celobrojni deo. Konverzija
razlomljenog dela u ekvivalentnu prezentaciju osnove r izvodi se na već prikazani način,
slično konverziji celobrojnog dela. Neka B10 predstavlja razlomljeni decimalni broj
ekvivalentan razlomljenom broj Ar u sistemu sa brojnom osnovom r, tj.
B10 = Ar = (0.a-1a-2 ... a-m)
= a-1r-1 + a-2r-2 + ... a-mr-m (2.16)
Množenjem jednačine (2.16) sa r dobijamo
rB10 = a-1 + (a-2r-1 + ... a-mr-m+1) (2.17)
odakle vidimo da je celobrojna vrednost a-1. Ako se sada razlomljeni deo (a-2r-1 + ... a-mr-
m+1
) pomnoži sa r, dobićemo a-2, itd. To znači da se repetitivnim množenjem sa r dobijaju
sukcesivne cifre razlomljenog broja B10 u prezentaciji osnove r.
Izvršiti konverziju (0.27)10 = (?)4.
Odgovor:
Proces konverzije se obavlja na sledeći način
celobrojna vrednost razlomljeni deo
.27*4
a-1 = 1 .08*4
a-2 = 0 .32*4
a-3 = 1 .28*4
a-4 = 1 .012
.
.
.
Primer 2.3.
U opštem slučaju, konverzija decimalnih brojeva koji imaju celobrojni i
razlomljeni deo se može izvesti tako što se posebno vrši konverijza svakog dela a zatim
kombinuju rezultati. Na primer, konverzija (123.56)10 = (?)7 se vrši na sledeći način.
Prvo se vrši konvezija celobrojne vrednosti
7 123
7 17 4
7 2 3
0 2
Nakon toga se vrši konverzija razlomljenog dela
.56*7
3 .92*7
6 .44*7
3 .08*7
0 .56
.
.
.
Za rezultat dobijamo
(123.56)10 = (234.3460...)7
pri čemu '...' ukazuje da rezultat nije tačan.
Primer 2.4.
Na koji način se najlakše vrši konverzija između dva nedecimalna sistema?
Odgovor:
Konverzija između dva nedecimalna sistema se najlakše sprovodi ako se kao
međukorak koristi decimalni sistem. Na primer, konverzija (1354.24)6 = (?)4 sprovodi se
najpre konverzijom iz baze 6 u bazu 10, a zatim konverzijom baze 10 u bazu 4, tj.
(1354.24)6 = (358.4444...)10 = (11212.1301...)4
28 27 25 23 21
N = 0.101011
= 1*2-1+0*2-2+1*2-3+0*2-4+1*2-5+1*2-6
N = 0.101011
= 1/2 + 1/8 + 1/32 + 1/64 = 0.671875
razlomljeni broj. Primera radi, binarni ekvivalent decimalnog razlomka 0.203125 se dobija
sukcesivnim množenjem razlomka sa dva, na sledeći način
0.203125
2
a-1=0 0.206250
2
a-2=0 0.812500
2
a-3=1 0.625000
2
a-4=1 0.250000
2
a-5=0 0.500000
2
a-6=1 0.000000
=(1 5 2 1 6)8
Kao što se može uočiti, rezultat se ne dobija kao posledica obavljanja neke
operacije, već prepisivanjem heksadecimalnog broja u binarni, a zatim pregrupisanjem
bitova sa ciljem da se formira oktalni rezultat.
2.5. Problemi
1. Koji decimalni ekvivalent odgovara najvećem binarnom broju koji se može izraziti sa:
a) 8 bitova; b) 16 bitova; c) 32 bita.
6. Izvršiti konverziju zadatih brojeva iz date baze u ostale tri baze shodno sledećoj tabeli.
decimalni binarni oktalni heksadecimalni
369.3125 ? ? ?
? 1011 1101.101 ? ?
? ? 326.5 ?
? ? ? F3C7.A