Professional Documents
Culture Documents
ProgramiranjeI_sylabus.doc
Oni predstavljaju skup brojeva u kojem svaki pojedini broj ima tačno određen broj cifri, a
decimalni zarez (tačka) je uvijek na istom mjestu.
Primjer jednog takvog skupa u dekadnom sistemu su brojevi: 0.52, 6.25, 8.12. U
ovom primjeru svi brojevi ovog skupa imaju po tri cifre od kojih su dvije uvijek iza
decimalnog zareza. U binarnom sistemu jedan takav skup bi izgledao: 11.01, 10.11, 01.01.
Za navedeni primjer brojeva koji imaju po tri cifre od kojih su dvije uvijek iza
decimalnog zareza rang je od 0.00 do 9.99 uključujući i krajnje vrijednosti tj. zatvoreni
interval je [0.00, 9.99]. Preciznost je određena razlikom između dva susjedna broja na
brojnoj osi, a to je u ovom slučaju 0.01 (npr. 5.01 - 5.02 = 0.01). Greška se javlja na 1/2
razlike između dva susjedna broja. U ovom slučaju je to 0.005.
Intervali mogu počinjati i završavati bilo kojim brojem kao npr. [00,99], [-50,+49]
i td.
Digitalna logika::Vježbe
1
http://dl.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc
a + (b + c) = (a + b) + c
a + (b + c) = 7 + (4+ (-3)) = 7 + 1 = 8
(a + b) + c = (7 + 4) + (-3) = 11 + (-3) …
Međutim, broj 11 je broj koji nije u rangu datog brojnog sistema. Ovdje se javlja
overflow (prekoračenje vrijednosti) u postupku izračunavanja izraza što uzrokuje
pogrešan i krajnji rezultat, bez obzira što bi konačni rezultat bio u postavljenom intervalu.
Kada dođe do pojave overflow-a problem rješavamo tako što se prvo ustanovi gdje
se javlja takva vrijednost u toku operacije, operaciju se prekida, a korisnik obavještava o
stanju. Druga mogućnost je da se ponovi izračunavanje sa brojevima većeg ranga što se
vrlo rijetko koristi.
Ovdje posmatramo brojne sisteme koji se najčešće koriste u računarskoj tehnologiji i to:
binarni (baza 2), oktalni (baza 8) i heksadecimalni (baza 16).
Baza nekog brojnog sistema definiše cifre koje formiraju brojeve iz tog brojnog
sistema. Pr. u dekadnom sistemu bi to bile cifre: 0, 1, 2, 3, 4, 5, 6, 7, 8 i 9, a njihovom
kombinacijom može se prikazati svaki broj iz sistema.
gdje n predstavlja broj cifri (mjesta) lijevo od zareza u određenoj bazi, m je broj
cifri (mjesta) desno od zareza u određenoj bazi, bi cifra na i-toj poziciji, a k predstavlja
bazu.
Digitalna logika::Vježbe
2
http://dl.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc
Ovakav oblik prikazivanja broja, gdje svaka pozicija ima dodijeljenu vrijednost nam
je poznata kao weighted position code (sistemi gdje i pozicija cifre utiče na vrijednost).
Problem binarnih sistema jeste u tome što se binarni broj sastoji od mnogo više
cifara nego njemu ekvivalentan broj u nekom drugom sistemu. Tu se javlja velika
mogućnost greške u pisanju tih brojeva jer je to veliki niz 0 i 1. Zbog toga se koriste brojni
sistemi sa bazom većom od 2, a to su oktalni i heksadecimalni brojni sistemi.
0 0 0 0
1 1 1 1
10 2 2 2
11 3 3 3
100 4 4 4
101 5 5 5
110 6 6 6
111 7 7 7
1000 10 8 8
Digitalna logika::Vježbe
3
http://dl.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc
1001 11 9 9
1010 12 10 A
1011 13 11 B
1100 14 12 C
1101 15 13 D
1110 16 14 E
1111 17 15 F
Digitalna logika::Vježbe
4
http://dl.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc
Binarni
Decimalni
bez Vrijednost s Komplement Komplement dodavanje
predznaka predznakom jedinice dvojke 4
7 111 - - - -
6 110 - - - -
5 101 - - - -
4 100 - - - -
-4 - - - 100
(+12)10 = (00001100)2
( -12)10 = (10001100)2
Digitalna logika::Vježbe
5
http://dl.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc
Negativni broj jednostavno tvorimo tako što pozitivnom broju zamijenimo početnu
cifru 0 (s lijeve strane) sa cifrom 1. Treba napomenuti da se ovdje postoje prikazi za 0, tj.
pozitivna i negativna nula, a to su: 00000000 i 10000000. U 8-bitnom formatu imamo
mogućnost predstavljanja 28 = 256 brojeva. U ovom slučaju +0 i -0 predstavljaju različiti
brojevi, pa imamo 28 - 1 = 255 različitih mogućnosti.
(+12)10 = (00001100)2
( -12)10 = (11110011)2
Ovdje, međutim, za razliku od prva dva slučaja imamo samo jednu vrijednost za
+0, odnosno -0. Za primjer ćemo uzeti (+0)10. Binarno je to (00000000)2,
komplementiranjem dobijamo (11111111)2 i dodavanje 1-ce, imamo ponovo (00000000)2
= (-0)10. jer se vrijednost koja se prenosi gubi kod krajnje lijeve cifre. Sada imamo
mogućnost predstavljanja 28 = 256 različitih brojeva.
Digitalna logika::Vježbe
6
http://dl.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc
pozitivan 127. Ako pokušamo da nađemo pozitivnu vrijednost od broja (-128)10 vidjećemo
da ponovo dobijamo negativan broj.
( -128)10 = (10000000)2
01111111
+ 1
-----------------
(10000000)2
Predstavljanje dodavanjem
U excess ili bias predstavljanju, brojevi su predstavljeni kao brojevi bez predznaka,
s tim što im je vrijednost "pomjerena" za određenu vrijednost - bias. Dovoljno je kolonu
„bez predznaka“ pomjeriti za određenu vrijednost, u ovom slučaju za 4, jer je to polovina
mogućih kombinacija predstavljenih sa 3 bita (2 3=8).
Zadaci za vježbanje
Ako želimo izvršiti sabiranje (oduzimanje) dva binarna broja od kojih je jedan negativan
onda se moramo poslužiti drugim komplementom. Prvo ćemo napisati drugi komplement
jednog broja, a zatim ga sabrati sa prvim brojem.
(Drugi komplement u binarnom sistemu se dobije tako što prepisujemo cifre binarnog broja
(od krajnje desne cifre prema krajnje lijevoj) do prve jedinice. Tu jedinicu prepisujemo, a
poslije nje mijenjamo nule u jedinice, a jedinice u nule (pr. - Drugi komplement broja 1010
je 0110).
Prvi komplement binarnog broja se tvori tako što sve 1 u binarnom broju zamijenimo sa 0
i obratno- sve 0 u 1. (Pr.- Prvi komplement broja 1010 je 0101)
Digitalna logika::Vježbe
7
http://dl.fit.ba/
Fakultet informacijskih tehnologija
ProgramiranjeI_sylabus.doc
Nakon toga saberemo 32 sa negativnom predstavom broja +14 odnosno, u ovom slučaju,
njegovim drugim komplementom. Operacija oduzimanja je zapravo operacija
sabiranja odnosno 32 + (-14).
00100000 =+32
11110010 = Drugi komplement broja 14
00010010 = 18
Digitalna logika::Vježbe
8
http://dl.fit.ba/