You are on page 1of 8

Predavanje 2

Brojni sistemi

Brojni sistemi predstavljaju sisteme pomoću kojih se vrši zapisivanje brojeva. Vrednost broja
iskazuje se ispisivanjem odgovarajućih simbola na konzistentan način. U digitalnim sistemima
i računarskoj tehnici koji su izuzetno značajni za automatizaciju proizvodnje koriste se različiti
brojni sistemi (binarni, oktalni, decimalni, heksadecimalni).

Tokom istorije ljudske civilizacije došlo je do razvoja više različitih brojnih sistema od ko-
jih su najznačajniji pozicioni brojni sistemi. Decimalni brojni sistem koji se najčešće koristi
spada u ovu klasu brojnih sistema. Od nepozicionih brojnih sistema u svakodnevnoj upotrebi
je rimski brojni sistem koji spada u klasu aditivnih brojnih sistema.

2.1 Aditivni brojni sistemi


Aditivni bojni sistemi su sistemi kod kojih svaki simbol u okviru broja nosi odredenu vred-
nost, a vrednost zapisanog broja dobija se sabiranjem vrednosti simbola. Najpoznatiji aditivni
brojni sistem jeste rimski brojni sistem. Dakle, kod rimskog brojnog sistema svaki simbol nosi
odredenu vrednost, a trenutno je u upotrebi 7 simbola čije su vrednosti date u tabeli 2.1.

Brojevi se formiraju navodenjem simbola tako što njihova vrednost, osim u slučaju odredenih
izuzetaka, opada sleva nadesno. Vrednost broja formira se sabiranjem vrednosti pojedinih sim-
bola uz odredene izuzetke. Naime, kako bi se redukovao broj istih simbola koji se ponavljaju
jedan za drugim, uvedena je notacija koja je zasnovana na oduzimanju:
• I ispred V i X označava vrednost 4 (IV) i 9 (IX)

• X ispred L i C označava vrednost 40 (XL) i 90 (XC)

• C ispred D i M označava vrednost 400 (CD) i 900 (CM)


Primer rimskog broja je:
MDCCCLXXXIV → 1884

Tabela 2.1: Simboli u rimskom brojnom sistemu i njihove vrednosti

simbol I V X L C D M
vrednost 1 5 10 50 100 500 1000

10
Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 11

2.2 Pozicioni brojni sistemi


Kod pozicionih brojnih sistema vrednost broja definisana je simbolom (cifrom) i pozicijom na
kojoj se dati simbol pri zapisivanju broja nalazi. Pozicija cifre u zapisu broja definiše vrednost
koju ova cifra nosi. Korišćenjem pozicionog brojnog sistema, vrednost koju broj nosi definisana
je sa:
n
c i · bi
X
N(b) =
i=−m

gde je:
N(b) -
vrednost broja,
b -
osnova brojnog sistema, radiks,
ci -
cifre brojnog sistema,
n+1 -
broj cifara u celobrojnom delu broja,
m -
broj cifara u razlomljenom delu broja,
i -
pozicija cifre, odnosno vrednost stepena osnove sa kojom se vrednost date
cifre množi; ona definiše razred cifre.
Cifre pozicionog brojnog sistema moraju zadovoljiti uslov:

0 ≤ ci ≤ b − 1

tj. najveća cifra u brojnom sistemu je za 1 manja od osnove brojnog sistema.

Prilikom zapisivanja broja, cifre se navode po opadajućem redosledu razreda, a celobrojni i


razlomljeni deo razdvajaju se decimalnom zapetom (u anglo-saksonskoj literaturi decimalnom
tačkom). Broj N sa osnovom b zapisuje se u obliku:

N(b) = cn cn−1 . . . c1 c0 , c−1 c−2 . . . c−m

Najveći ceo broj koji se može zapisati pomoću n cifara za pozicioni brojni sistem sa osnovom
b je:
Nmax = bn − 1
Pozicioni brojni sistemi omogućavaju lakše izvršavanje aritmetičkih operacija u odnosu na ne-
pozicione brojne sisteme.

2.2.1 Decimalni brojni sistem


Decimalni brojni sistem najčešće je u upotrebi i čovek prirodno vrši aritmetičke operacije u
ovom brojnom sistemu. Osnova decimalnog brojnog sistema jeste 10, a njegove cifre su 0, 1, 2,
3, 4, 5, 6, 7, 8 i 9. Vrednost broja definisana je izrazom:
n
ci · 10i = cn · 10n + cn−1 · 10n−1 + . . . c1 · 101 + c0 · 100 + c−1 · 10−1 . . . + c−m · 10−m
X
N(10) =
i=−m

Primer broja zapisanog u decimalnom brojnom sistemu jeste:

138, 375(10) = 1 · 102 + 3 · 101 + 8 · 100 + 3 · 10−1 + 7 · 10−2 + 5 · 10−3


Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 12

2.2.2 Binarni brojni sistem


U digitalnoj elektronici i računarskoj tehnici najčešće se koristi binarni brojni sistem. Osnova
ovog sistema je 2, a njegove cifre su 0 i 1. Vrednost broja zapisanog u binarnom brojnom
sistemu data je sa:
n
c i · 2i ,
X
N(2) = ci ∈ {0, 1} (2.1)
i=−m

Cifre binarnog brojnog sistema odgovaraju logičkoj jedinici i logičkoj nuli, odnosno u kontekstu
Bulove algebre vrednosti T - tačno (engl. TRUE) i ⊥ - netačno (engl. FALSE). U digitalnoj
elektronici koriste se elementi sa dva stanja (npr. tranzistori), a definisane su vrednosti napona,
tj. naponski opsezi koji se interpretiraju kao logička nula i logička jedinica [14]. Primer broja
zapisanog u binarnom brojnom sistemu:

10001010, 011(2) = 1 · 27 + 0 · 26 + 0 · 25 + 0 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 +
+0 · 2−1 + 1 · 2−2 + 1 · 2−3 (2.2)
= 138, 375(10)

Svaka cifra broja zapisanog u binarnom brojnom sistemu naziva se bit (engl. bit). Niz od 4
bita naziva se nibl (engl. nibble), a niz od 8 bitova bajt (engl. byte). U binarnom broju krajnji
bit sa desne strane naziva se bit najmanje težine - LSB (engl. Least Significant Bit), a krajnji
bit s leve strane jeste bit najveće težine - MSB (engl. Most Significant Bit).

U računaru sve aritmetičko logičke operacije vrše se u binarnom brojnom sistemu. S druge
strane, čovek/operater podatke unosi u decimalnom brojnom sistemu i u njemu očekuje i izlaz
podataka. Postoji više načina za konverziju podataka izmedu pojedinih brojnih sistema o čemu
će biti više reči u narednom poglavlju. Jedan od načina za konverziju binarnog u decimalni
brojni sistem je korišćenjem relacije (2.1).

2.2.3 Oktalni brojni sistem


Oktalni brojni sistem jeste pozicioni brojni sistem sa osnovom 8 i ciframa 0, 1, 2, 3, 4, 5, 6 i 7.
Vrednost broja zapisanog u oktalnom brojnom sistemu jeste:
n
c i · 8i ,
X
N(8) = ci ∈ {0, 1, 2, 3, 4, 5, 6, 7} (2.3)
i=−m

Primer broja u oktalnom brojnom sistemu:

212, 3(8) = 2 · 82 + 1 · 81 + 2 · 80 + 3 · 8−1 = 138, 375(10) (2.4)

Iz navedenog primera, a poredenjem sa primerom datim u relaciji (2.2) očigledno je da zapis


broja u oktalnom brojnom sistemu zahteva manje cifara nego u binarnom. I zapis broja u
decimalnom brojnom sistemu zahteva manje cifara nego u binarnom. Ono što oktalni sistem čini
pogodnim jeste laka konverzija brojeva iz oktalnog u binarni sistem. Ona se vrši grupisanjem
tri po tri bita počevši od LSB za celobrojni deo broja, odnosno od MSB za razlomljeni deo.

Primer 2.2.1 Izvršiti konverziju broja 10001010,011(2) iz binarnog u oktalni brojni sistem.

N(2) 010 001 010 , 011


N(8) 2 1 2 , 3
Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 13

Analogno, lako se izvršava i konverzija iz oktalnog u binarni sistem, pri čemu svaka cifra iz
oktalnog sistema odgovara trima ciframa u binarnom sistemu.

Primer 2.2.2 Izvršiti konverziju broja 212,3(8) iz oktalnog u binarni brojni sistem.

N(8) 2 1 2 , 3
N(2) 010 001 010 , 011

Ovako jednostavna konverzija omogućena je činjenicom da je osnova oktalnog brojnog sistema


23 .

2.2.4 Heksadecimalni brojni sistem


Osnova heksadecimalnog brojnog sistema jeste 16, a njegove cifre su 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
A, B, C, D, E i F. Vrednosti cifara A, B, C, D, E i F su 10, 11, 12, 13, 14 i 15, respektivno.
Vrednost broja zapisanog u heksadecimalnom sistemu je:
n
ci · 16i ,
X
N(16) = ci ∈ {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F } (2.5)
i=−m

Primer broja zapisanog u heksadecimalnom brojnom sistemu je:

8A, 6(16) = 8 · 161 + A · 160 + 6 · 16−1 = 138, 375(10) (2.6)

Osnova heksadecimalnog brojnog sistema jeste 24 , pa je i kod ovog sistema olakšana konverzija
iz binarnog i u binarni brojni sistem uz još veće smanjenje broja cifara u zapisu broja u odnosu
na oktalni sistem. Konverzija broja iz binarnog u heksadecimalni sistem vrši se grupisanjem
cifara u nibl po nibl počevši od LSB za celobrojni i MSB za razlomljeni deo broja i konverzijom
nibl po nibl.

Primer 2.2.3 Izvršiti konverziju broja 10001010,011(2) iz binarnog u heksadecimalni brojni


sistem.

N(2) 1000 1010 , 0110


N(16) 8 A , 6

Analogno, svaka cifra iz heksadecimalnog brojnog sistema konvertuje se u nibl u binarnom


sistemu.

Primer 2.2.4 Izvršiti konverziju broja 8A,6(16) iz heksadecimalnog u binarni brojni sistem.

N(16) 8 A , 6
N(2) 1000 1010 , 0110

2.3 Konverzija brojeva izmedu pozicionih brojnih sis-


tema
Neka je dat broj u pozicionom brojnom sistemu sa osnovom b1 :

N(b1 ) = cn cn−1 . . . c1 c0 , c−1 c−2 . . . c−m


Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 14

i neka je njegov zapis u brojnom sistemu sa osnovom b2 :

N(b2 ) = dp dp−1 . . . d1 d0 , d−1 d−2 . . . d−r

Cilj konverzije je da se za poznate osnove pozicionih brojnih sistema b1 i b2 i cifre broja u


sistemu sa osnovom b1 - ci , odrede cifre broja u sistemu sa osnovom b2 - di .

Za rešavanje problema konverzije postoji više načina od kojih su neki navedeni u prethodnim
potpoglavljima. U ovom poglavlju navode se dve univerzalne metodologije.

2.3.1 Metodologija pogodna za konverziju broja u decimalni brojni


sistem
Neka je dat broj u brojnom sistemu sa osnovom b1 :

N(b1 ) = cn cn−1 . . . c1 c0 , c−1 c−2 . . . c−m

Ovaj broj u sistemu sa osnovom b2 jeste:

N(b2 ) = cn · bn1 + cn−1 · b1n−1 + . . . + c0 · b01 + c−1 · b−1 −m


1 + . . . + c−m · b1 (2.7)

pri čemu se u relaciji (2.7) sve aritmetičke operacije izvršavaju u brojnom sistemu sa osnovom b2 .

Ova metoda konverzije može se koristiti za sve kombinacije osnova b1 i b2 , ali se najčešće
upotrebljava za konverziju iz ostalih brojnih sistema u decimalni. Osnovni razlog za to je što
je čoveku prirodno da aritmetičke operacije izvršava u decimalnom brojnom sistemu. Takode,
ova metodologija je pogodnija kada je b1 < b2 .

Primeri konverzije iz binarnog, oktalnog i heksadecimalnog brojnog sistema u decimalni korišće-


njem ove metodologije dati su u relacijama (2.2), (2.4) i (2.6), respektivno.
Primer 2.3.1 Izvršiti konverziju broja 10001010,011(2) iz binarnog u oktalni brojni sistem.
N(8) = 1 · 27 + 0 · 26 + 0 · 25 + 0 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 + 0 · 2−1 + 1 · 2−2 + 1 · 2−3
= 1 · 200(8) + 1 · 10(8) + 1 · 2(8) + 1 · 0, 2(8) + 1 · 0, 1(8)
= 212, 3(8)

2.3.2 Metodologija pogodna za konverziju broja iz decimalnog broj-


nog sistema
Kod ove metodologije posebno se razmatra celobrojni, a posebno razlomljeni deo broja.

Celobrojni deo broja


Celobrojni deo broja u sistemu sa osnovom b1 dat je sa:
n
ci · bi1
X
N(b1 ) =
i=0

a u sistemu sa osnovom b2 :
p
di · bi2 = dp · bp2 + dp−1 · bp−1 + . . . + d1 · b12 + d0 · b02
X
N(b2 ) = 2 (2.8)
i=0
Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 15

Relacija (2.8) može se zapisati u obliku:

N = Q 1 · b2 + d 0

pri čemu je:


p
bp−1 bp−2 b02 di · bi−1
X
Q1 = d p · 2 + dp−1 · 2 + . . . + d1 · = 2 (2.9)
i=1

celobrojna vrednost, a d0 ostatak pri deljenju relacije (2.8) sa b2 .

Relacija (2.9) može se dalje zapisati u obliku:

Q 1 = Q 2 · b2 + d 1

pri čemu je:


p
Q2 = dp · bp−2 + dp−1 · bp−3 + . . . + d2 · b02 = di · bi−2
X
2 2 2
i=2

celobrojna vrednost, a d1 ostatak pri deljenju relacije (2.9) sa b2 .


Ponavljanjem postupka p puta dobija se:

Qp = Qp+1 + dp

pri čemu je Qp+1 = 0.

Dakle, postupak se sastoji od sukcesivnog deljenja celobrojnih vrednosti osnovom brojnog sis-
tema b2 sve dok celobrojna vrednost ne bude jednaka nuli. Ostaci deljenja čitani odozdo naviše,
ispisani u nizu sleva nadesno, predstavljaju ceo broj u sistemu sa osnovom b2 .

Kao i prethodna i ova metoda se može koristiti za sve kombinacije b1 i b2 . Medutim, arit-
metičke operacije se vrše u brojnom sistemu sa osnovom b1 , pa je ova metodologija pogodna za
konverziju iz decimalnog brojnog sistema u brojne sisteme sa drugim osnovama.

Primer 2.3.2 Izvršiti konverziju broja 271(10) u: a)binarni, b)oktalni i c) heksadecimalni brojni
sistem

b)
a)
rezultat ostatak
rezultat ostatak
271:8 33 7 ↑
271:2 135 1 ↑
4 1 |
67 1 |
0 4 |
33 1 |
271(10) = 417(8)
16 1 |
8 0 |
c)
4 0 |
rezultat ostatak
2 0 |
271:16 16 F ↑
1 0 |
1 0 |
0 1 |
0 1 |
271(10) = 100001111(2)
271(10) = 10F(16)
Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 16

Razlomljeni deo broja


Razlomljeni deo broja u sistemu sa osnovom b1 dat je sa:
m
X
N(b1 ) = c−i · b−i
1
i=1

a u sistemu sa osnovom b2 sa:


r
X
N(b2 ) = d−i · b−i −1 −2 −r
2 = d−1 · b2 + d−2 · b2 + . . . + d−r · b2 (2.10)
i=1

Množenjem jednačine (2.10) sa b2 , ali u sistemu sa osnovom b1 dobija se:


b2 · N(b2 ) = d−1 + d−2 · b−1 −2 −r+1
2 + d−3 · b2 + . . . + d−r · b2

odnosno:
b2 · N(b2 ) = d−1 + Q1
gde je:
r
X
Q1 = d−2 · b−1 −2 −r+1
2 + d−3 · b2 + . . . + d−r · b2 = d−i · b−i+1
2
i=2
Dalje je:
b2 · Q1 = d−2 + Q2
gde je:
r
X
Q2 = d−i · b−i+2
2
i=3
i tako redom sve dok rezultat množenja ne bude nula ili dok ne dostignemo dovoljan broj cifara
u brojnom sistemu sa osnovom b2 .

Dakle, broj se iz sistema sa osnovom b1 prevodi u sistem sa osnovom b2 vršenjem sukcesiv-


nog množenja razlomljenog dela. Celobrojni delovi rezultata množenja predstavljaju cifre u
razlomljenom delu broja u sistemu sa osnovom b2 i navode se redosledom kojim su dobijene.
Operacije se vrše u brojnom sistemu sa osnovom b1 .
Primer 2.3.3 Izvršiti konverziju broja 0,59375(10) iz decimalnog u: a) binarni, b) oktalni i c)
heksadecimalni brojni sistem
a) b) c)
0, 59375 ·2
1, 1875 →1
0, 1875 ·2 0, 59375 ·8 0, 59375 ·16
0, 375 ·2 →0 4, 75 →4 9, 5 →9
0, 75 ·2 →0 0, 75 ·8 0, 5 ·16
1, 5 →1 6, 0 →6 8, 0 →8
0, 5 ·2 0 0
1, 0 →1
0
0, 59375(10) = 0, 10011(2) 0, 59375(10) = 0, 46(8) 0, 59375(10) = 0, 98(16)
U primeru 2.3.3. nakon odredenog broja ponavljanja, rezultat množenja je nula; u sva tri
brojna sistema razlomljeni deo broja je prikazan bez odsecanja, a algoritam je završen kada je
rezultat množenja bio jednak nuli.
Ž. Jakovljević, Automatizacija proizvodnje - izvodi sa predavanja 17

Primer 2.3.4 Izvršiti konverziju broja 0,69275(10) iz decimalnog u: a) binarni, b) oktalni i c)


heksadecimalni brojni sistem

a) b) c)
0, 69227 ·8 0, 69275 ·16
0, 69275 ·2 5, 542 →5 11, 084 →11
1, 3855 →1 0, 542 ·8 0, 084 ·16
0, 3855 ·2 4, 336 →4 1, 344 →1
0, 771 ·2 →0 0, 336 ·8 0, 344 ·16
1, 542 →1 2, 688 →2 5, 504 →5
0, 542 ·2 0, 688 ·8 0, 504 ·16
1, 084 →1 5, 504 →5 8, 064 →8
0, 084 ·2 0, 504 ·8 0, 064 ·16
0, 168 →0 4, 032 →8 1, 024 →1
0, 032 0, 024
0, 69275(10) 0, 10110(2) 0, 69275(10) = 0, 54254(8) 0, 69275(10) = 0, B1581(16)
U primeru 2.3.4. rezultat množenja nije bio jednak nuli nakon 5 ponavljanja; izračunate
razlomljene vrednosti broja su odsečene na pet decimala, a algoritam je prekinut nakon pet
ponavljanja.

You might also like