BROJNI SISTEMI

Download Report

Transcript BROJNI SISTEMI

BROJNI SISTEMI
BROJNI SISTEM OSNOVA
CIFRE
BINARNI
2
0, 1
OKTALNI
8
0, 1, 2, 3, 4, 5, 6, 7
DEKADNI
10
0, 1, 2, 3, 4, 5, 6, 7, 8, 9
HEKSADECIMALNI
16
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F
(A=10, B=11, C=12, D=13, E=14,
F=15)
PRETVARANJE IZ DEKADNOG U OSTALE
BROJNE SISTEME
•Pretvaranje iz dekadnog brojnog sistema u
ostale izvodi se deljenjem s osnovicom
željenog sistema (deljenjem sa 2, 8 ili 16).
•Deli se sve dok celobrojni rezultat deljenja ne
postane 0.
•Novi broj se dobija od ostataka deljenja
počevši od zadnjeg ostatka.
Pretvaranje iz dekadnog u ostale brojne sisteme
439 :2
439 :8
219 1
54 7
109 1
6 6
54 1
0 6
27 0
13 1
6 1
3 0
1 1
0 1

439 :16

27 7
1 11=B
0 1

4 3 9 1 0  1 1 0 1 1 0 1 1 12
4 3 9 1 0  1B 7 1 6
4 3 9 10  6 6 7 8
Pretvaranje iz dekadnog u ostale brojne sisteme
335:2
167 1
83 1
41 1
20 1
10 0
5 0
2 1
1 0
0 1
335:8
41 7
5 1
0 5


335:16
20 15=F
1 4
0 1

33510 = 1010011112
33510 = 5178
33510 = 14F16
Pretvaranje iz binarnog, oktalnog i heksadecimalnog
brojnog sistema u dekadni izvodi se množenjem.
2 1 0
2
1
0
4 3 9 10  4  10  3  10  9  1 0  4  100  3  10  9  1  439 10
87 6 54 3 210
110 110 1112
8
7
6
5
4
3
2
1
 1 2  1 2  0  2  1 2  1 2  0  2  1 2  1 2  1 2
0
 1  256  1  128  0  6 4  1  32  1  16  0  8  1  4  1  2  1  1
 256  128  32  16  4  2  1  439 10
2 1 0
2
1
0
6 6 7 8  6  8  6  8  7  8  6  6 4  6  8  7  1  384  48  7  4 39 10
2 1 0
2
1
0
1B 7 16  1  16  11  16  7  16  1  25 6  11  16  7  1  256  176  7  4 39 10
TEŽINA POJEDINOG MESTA ZAVISNO
OD BROJNOG SISTEMA
0
1
2
3
4
5
6
7
8
9
10
2
1
2
4
8
16
32
64
128
256
512
1024
8
1
8
64
512
4096
10
1
10
100
1000
16
1
16
256
4096
SISTEM
MESTO
PRETVARANJE IZ BINARNOG U OKTALNI I
HEKSADECIMALNI BROJNI SISTEM
• Iz poznatog izraza 23=81 možemo zaključiti kako svaki
binarni broj od 3 cifre ima tačno 1 odgovarajući oktalni
broj.
• Takođe iz izraza 24=161 možemo zaključiti kako svaki
binarni broj od 4 cifre ima tačno 1 odgovarajući
heksadecimalni broj.
2
000
001
010
011
100
101
110
111
8=O
0
1
2
3
4
5
6
7
2
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
16=H
0
1
2
3
4
5
6
7
8
9
10=A
11=B
12=C
13=D
14=E
15=F
• Pretvaranje iz binarnog u oktalni brojni sistem vrši se
grupisanjem vrednosti u binarnom prikazu broja u
trojke s desna na levo.
• Ako ukupan broj bitova nije deljiv sa tri, onda se
dopisuje potreban broj vodećih nula.
100100112 = 0100100112 = 2238
110101101112  110101101112  3267 8
• Pretvaranje iz binarnog u heksadecimalni brojni sistem
obavlja se grupisanjem vrednosti u binarnom prikazu
broja u četvorke s desna na levo.
• Ako broj bitova nije deljiv sa četiri, onda se dopisuje
potreban broj vodećih nula.
100100112 = 100100112 = 9316
110101101112  110101101112  6B7 16
• Pretvaranje iz oktalnog u heksadecimalni brojni sistem
i obratno se obavlja preko binarnog brojnog sistema.
2035 8  0 100000111012  100000111012  41D 16
6E9 16  0 110111010012  110111010012  33518
Pretvaranje: REALNI DEKADNI BROJ  REALNI BINARNI
BROJ
Ako realni broj u dekadnom brojnom sistemu želimo pretvoriti u
realni broj u binarnom sistemu, postupak je sledeći: deo
ispred decimalne tačke delimo sa 2 (kao što je prethodno
objašnjeno) a deo iza decimalne tačke množimo sa 2.
2 5 .3 5 1 0  1 1 0 0 1 .0 10 1 1 0 2
4 3 .6 8 7 5 1 0  1 0 1 0 1 1 .1 0 1 12
2
:2
43
0.6875
21 1
1.375 1
10 1
0.75 0
5 0

1.5 1
2 1
1 1
1 0
0
0 1

2
:2
25
.35
12 1
0.7 0
6 0
1.4 1
3 0
0.8 0
1 1
0 1

1.6 1
1.2 1
0.4 0
0.8 0
1.6 1
.... ...

Pretvaranje: REALNI BINARNI BROJ  REALNI DEKADNI
BROJ
5 4 3 2 1 0 1 2 3 4
5
4
3
2
1
0
1
2
3
10 10 11. 1 0 1 1 2  1  2  0  2  1  2  0  2  1  2  1  2  1  2  0  2  1  2  1  2
1
1
1
1
 1  32  0  16  1  8  0  4  1  2  1  1  1   0   1   1 
2
4
8
16
 32  8  2  1  0.5  0.125  0.0 625
 43. 6875 10
4
4 3 2 1 0 1 2 3 4 5 6
4
3
0
110 0 1 . 0 1 0 1 1 0 2  1  2  1  2  1  2  1  2
 116  1 8  11  1
1
4
 1
1
16
 1
2
 1 2
4
 1 2
1
32
 1 6  8  1  0 .2 5  0 .0 6 2 5  0 .0 3 1 2 5
 2 5 .3 4 3 7 5 1 0
U drugom slučaju nismo dobili početni broj (25.35) jer smo se
zaustavili s izračunavanjem na petoj decimali iza tačke.
Greška je 0.00625. Da smo računali na više decimala,
greška bi bila manja ali nikada ne bi bila jednaka 0, tj.
nemoguće je dobiti potpuno isti rezultat. Iz ovog se vidi da
najčešće računanje s realnim brojevima nije apsolutno
tačno nego uz neku grešku.
5
• U dekadnom brojnom sistemu negativni brojevi se
predstavljaju znakom “-” (pozitivni znakom “+” ili
se znak izostavlja) napisanim ispred cifara koje
definišu apsolutnu vrednost broja.
• U binarnom brojnom sistemu je ovakav način
predstavljanja označenih brojeva nemoguć, jer
računari mogu da prepoznaju samo dva znaka, a
to su “0” i “1”. Samim tim je znakove “-” i “+”
potrebno na neki način predstaviti pomoću “0” i ”1”.
• Jedan od načina za zapis označenih brojeva u
binarnom brojnom sistemu je pomoću znaka i
apsolutne vrednosti.
• U ovom zapisu, apsolutnoj vrednosti broja se na
vodećem mestu dodaje jedna cifra i to 0 ako je broj
pozitivan i cifra 1 ako je broj negativan.
7(10) = 111(2) ........... Neoznačen binarni broj
+7(10) = 0111(2) ....... Označen pozitivan binarni broj
-7(10) = 1111(2) ....... Označen negativan binarni broj
12(10) = 1100(2) ........ Neoznačen binarni broj
+12(10) = 01100(2) .... Označen pozitivan binarni broj
-12(10) = 11100(2) .... Označen negativan binarni broj
SABIRANJE
PRAVILO ZA BINARNI SISTEM:
+
0
1
0
0
1
1
1
0
1 0 0 1 0 1 1 1 .1 1 0 12  1 0 1 0 1 .1 12  1 0 1 0 1 1 0 1 .1 0 0 12
1
1 1 1 1
1
1 0 0 1 0 1 1 1. 1 1 0 1
1 1 1 0 1 1 1 .1 1 0 12  1 0 1 0 1 .1 12  1 0 0 0 1 1 0 1 .1 0 0 12
1 1 1
1 1 1 1
1
1 1 1 0 1 1 1. 1 1 0 1

1 0 10 1 .1 1
1 0 0 0 1 10 1 .10 0 1

1 0 10 1 .1 1
1 0 1 0 1 10 1 .10 0 1
SABIRANJE
4 3 5 6 8  4 2 7 3 8  1 0 6 5 18
7B8C 16  A 69 16  85F5 16
1 1
1
4 3 5 68
 4 2 7 38
1 0 6 5 18
1
7 B 8 C 16

A 6 916
8 5 F 516
ODUZIMANJE
pomoću binarnog komplementa (način na koji radi procesor)
- svaka cifra broja se zameni brojem koji nadopunjuje cifru do
najvećeg broja u datom brojnom sistemu. Kod binarnog sistema se
jednostavno 0 zameni sa 1 i obratno. Zahvaljujući komplementu,
oduzimanje se svodi na sabiranje.
1 1 0 1 1 .1 0 12  1 1 0 1 .1 12  1 1 0 1 1 .1 0 12 ( 1
 1 0 1 .1 1 )2 
1 1 0 1 1 . 1 0 12

1 1 0 1. 1 1 02
1 1 0 1 1 . 1 0 12

1 0 0 1 0 . 0 0 12

0 . 0 0 12
 1 0 1 1 0 1 . 1 1 12
ODUZIMANJE
pomoću oktalnog komplementa (način na koji NE radi procesor)
- svaka cifra broja se zameni brojem koji nadopunjuje cifru do
najvećeg broja u datom brojnom sistemu.
Npr. 2 se zamenjuje sa 5 jer mu upravo toliko nedostaje do broja 7 kao
najveće cifre u oktalnom sistemu.
2 5 0 4 8  7 2 3 8  2 5 0 4 8 ( 7
 2 3 )8 
2 5 0 48

7 2 38
2 5 0 48

7 0 5 48

18
 1 1 5 6 18
ODUZIMANJE
pomoću
hekdasecimalnog
komplementa
koji
NE radi procesor)
pomoću šesnaestičnog
komplementa
(način na(način
koji nena
radi
procesor)
- svaka cifra broja se zameni brojem koji nadopunjuje cifru do
najvećeg broja u datom brojnom sistemu.
Npr. 6 se zamenjuje sa 9 jer mu upravo toliko nedostaje do broja F (15)
kao najveće cifre u heksadecimalnom sistemu.
2 9 C F1 6 - 1B D 8 1 6  2 9 C F1 6 ( -1B D 8
2 9 C FH

1 B D 8H
2 9 C FH
+
E 4 2 7H
+
1H
= 1 0 D F 7H
) 
16
MNOŽENJE
1 10. 1  11.0 1
1 1 0 .12  1 1 .0 12 
11 0 1



11 01
0 0 00
1 1 1 1
1 10 1
1
1 0 1 0 1.0 0 1
DELJENJE
110.12 : 11.012 = 110102 : 11012 = 102
1101
00
0
0
10101.0012 : 11.012 = 1010100.12 : 11012 = 110.12
1101
10000
1101
110
0
1101
1101
0
KOD I KODIRANJE
• Pretpostavka uspešnog komuniciranja računara u
razmeni ili obradi podataka je DOGOVOR o skupu
znakova koji će se u radu s računarom koristiti kao
i o binarnim kombinacijama za svaki od znakova.
Dogovor se vremenom proširuje i dograđuje, a on
je ili ozakonjeni standard države ili preporuka neke
međunarodne organizacije.
• Koja kombinacija nula i jedinica predstavlja koji
znak definiše se tabelom koja se naziva KOD.
BCD kod
• Ukoliko svaku cifru dekadnog broja predstavimo u
binarnom obliku, dobijamo tzv. binarno kodirani
dekadni broj ili skraćeno BCD(Binary Coded
Decimal).
Dekadni broj
28
BCD
0000 0010
prvi bajt
predstavlja cifru 2
0000 1000
drugi bajt
predstavlja
cifru 8
BCD kod
• Osnovna mana ovog sistema je to što se jednim
bajtom može predstaviti samo 10 vrednosti. To je
nepakovani BCD sistem.
• Kod pakovanog BCD sistema svaki polubajt (nibl)
predstavlja posebnu cifru pa se jednim bajtom
može predstaviti 100 različitih vrednosti.
Dekadni broj
28
BCD
0010 1000
cifra 2
cifra 8
BCD kod
• Kako računar, osim s brojevima radi i sa slovima i
drugim posebnim znakovima, potrebno je uzeti
veći broj binarnih kombinacija. Osnova današnjih
računara je ASCII kod.
ASCII kod
• ASCII kod je skraćenica od početnih slova rečenice
'American Standard Code for Information
Interchange', što prevedeno znači: Američki
standardni kod za razmenu informacija. Tokom
razvoja računara definisano je više varijanti ovoga
koda.
• To je osmo-bitni kôd (kôd čija je dužina 8 bita), koji
omogućuje prikaz velikih i malih slova, specijalnih
znakova (na primer, *, +, =, ?, $, %, itd.), te
upravljačkih znakova (na primer, početak poruke,
kraj poruke, novi red, itd.).
ASCII kod
• Ukupno je sa osam bita moguće prikazati 256
(28=256) različitih znakova. Međutim, prvih 128
znakova je zaista standardizovano, a preostalih
128 nije jedinstveno standardizovano.
• ASCII kod definiše 128 karaktera od koji su prvih
31 kontrolni karakteri koji se koriste za slanje
dodatnih informacija o poslatim podacima.
ASCII kod 65 : veliko slovo A
ASCII kod 61:
=
ASCII kod 101: malo slovo e
ASCII kod
• Pored ASCII koda postoje i drugi kodovi.
• Svaki korisnik može kreirati sopstveni kod, u kome
će, na primer, slovu A biti dodeljen broj 1. Ali u tom
slučaju gubi se svaka kompatibilnost sa PC
računarima.
Deo ASCII tabele
Decimalni broj
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
Znak
razmak
!
"
#
$
%
&
'
(
)
*
+
,
.
Decimalni broj
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
Znak
P
Q
R
S
T
U
V
w
X
Y
Z
[
\
]
^
ZAPIS CELIH BROJEVA U MEMORIJU RAČUNARA (2B)
• Prirodni brojevi se zapisuju u memoriju računara
slično kao što bi ih zapisivali na papir.
• Najvažnija razlika je u tome što je broj bitova u
računaru koji imamo na raspolaganju za prikaz
broja ograničen.
• Broj bita za prikaz broja nije proizvoljan i može biti
jednak dužini reči, ali i duplo manji (polureč) ili
duplo veći (dvostruka reč). Šta ćemo odabrati,
zavisi od naše procene veličina brojeva koji će se u
našim proračunima pojaviti.
ZAPIS CELIH BROJEVA U MEMORIJU RAČUNARA (2B)
Primer: Broj -57110 zapisati u memoriju računara u 2 Bajta
(kao celi broj).
Na već poznati način dobijemo: 57110=10001110112.
Prikazano u 2B:
57110  0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1
Za pretvaranje u negativni broj
potrebno je:
• invertovati (zameniti) svaku 0 u 1
i svaki 1 u 0. (komplement)
• tako invertiranom broju dodati 1.
5 7 11 0  0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1
in ve rzija  1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 0

1
 5 7 11 0  1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 1
ZAPIS CELIH BROJEVA U MEMORIJU RAČUNARA (2B)
Provera: 57110 + (-571)10 = 0
Binarna provera: 5 7 1  0 0 0 0 0 0 1 0 0 0 1 1 1 0 1 1
10

 5 7 11 0  1 1 1 1 1 1 0 1 1 1 0 0 0 1 0 1
0  1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
ZADACI ZA VEŽBU
1. Pretvori u ostale brojne sisteme:
a) 9410
b) 32710
c) 81710
d) 1010112
e) 100010012
f) 11110111102
g) 548
h) 3278
i) 9C16
j) 3E716
2. Pretvori u binarni brojni sistem:
a) 9.62510=
b) 27.3510=
3. Pretvori u dekadni brojni sistem:
a) 101.012=
b) 11001.11012 =
ZADACI ZA VEŽBU
4. Sabrati:
a) 9410+7810=
b) 10112 +1012=
c) 1010112 +100112=
d) 548 +368=
e) 3278 + 638=
f) 9C16 + F16 =
g) 3E716 + D516 =
5. Oduzmi:
1) 9410-7810=
2) 10112 -1012=
3) 1010112 -100112=
4) 548 -368=
5) 3278 - 638=
6) 9C16 - F16 =
7) 3E716 - D516 =
6. Pomnoži:
a) 75103110=
b) 10112  1012=
c) 1010112  100112=
Korišćena literatura:
• Brojevni sustavi, dipl. inž. Matić Željko, internet
• Uvod u programiranje u Turbo Pascalu 7 (9), Marković Dragan, internet
• PC Hardver, Meser Hans-Peter