Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Brojevni sustavi
Što je brojevni sustav?
• Brojevni sustav je skup znakova i pravila za pisanje tih znakova.
• ljudi se u svakodnevnom životu koriste dekadskim sustavom (znamenke od 0 do 9)
• brojevne sustave dijelimo na pozicijske i nepozicijske
Podjela brojevnih sustava
• kod nepozicijskih sustava značenje pojedine znamenke ne ovisi o njezinu položaju u zapisanom broju (kod rimskog brojevnog sustava znamenka I uvijek ima vrijednost 1)
• kod pozicijskih brojevnih sustava vrijednost znamenke ovisi o njezinu položaju u zapisanom broju (npr. kod dekadskog brojevnog sustav u broju 111 prva jedinica označava broj 100, druga broj 10, a treća broj 1)
rimske znamenke vrijednosti
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
Zadatci:
• sljedeće brojeve iz rimskog sustava zapišite u dekadski• CCXXI
• MCMXCVIII
• sljedeće brojeve iz dekadskog sustav zapišite u rimskom• 257
• 1489
Rješenja:
• rimski u dekadske:• CCXXI = C + X + X +I = 100 + 10 +10 + 1 = 121
• MCMXCVIII = M + CM + XC + V + I + I + I = 1000 + (-100 + 1000) + (-10 + 100) + 5 + 1 + 1 + 1 = 1998
• dekadske u rimske:• 257 = 200 + 50 + 7 = 100 + 100 + 50 + 5 + 1 + 1 + 1 = C + C + L + V + I
+ I = CCLVII
• 1489 = 1000 + 400 + 80 + 9 = 1000 + (-100 + 500) + 50 +10 +10 + 10 + (-1 + 10) = M + CD + L + X + X + X+ IX = MCDLXXXIX
Brojevni sustavi koji opisuju rad u računalu:
• binarni (2 bita, znamenke: 0 i 1, baza: 2)
• oktalni (8 bita, znamenke: 0, 1, 2, 3, 4, 5, 6 i 7, baza: 8)
• heksadekadski (16 bita, znamenke: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E i F, baza: 16)
dekadski brojevi
binarni heksadekadski oktalni
0 0 0 0
1 1 1 1
2 10 2 2
3 11 3 3
4 100 4 4
5 101 5 5
6 110 6 6
7 111 7 7
8 1000 8 10 (1+0)
9 1001 9 11 (1+1)
10 1010 A 12 (1+2)
11 1011 B 13 (1+3)
12 1100 C 14 (1+4)
13 1101 D 15 (1+5)
14 1110 E 16 (1+6)
15 1111 F 17 (1+7)
Pravila pretvaranja iz jednog brojevnog sustava u drugi
• gledamo tablice kad pretvaramo broj iz binarnoga brojevnog sustava u heksadekadski (uzimamo po četiri znamenke) ili oktalni (uzimamo po tri znamenke)
• kod pretvaranja u dekadski brojevni sustav svaku znamenku broja (slijeva nadesno) množimo s bazom drugoga brojevnog sustava koja je potencirana s brojem pozicije znamenke u broju
• kad pretvaramo dekadske brojeve u druge brojevne sustave, onda dijelimo brojeve s bazom drugih brojevnih sustava sve dok ne dođemo do nule; kao rješenje uzimamo ostatke dijeljenja
Pretvaranje iz binarnih brojeva u dekadske
100011(2)
1*25 + 0*24 + 0*23 + 0*22 + 1*21 + 1*20
32 + 0 + 0 + 0 + 2 + 1 = 35(10)
Pretvaranje iz binarnih brojeva u dekadske
101.11 (2)
1*22 + 0*21 + 1*20 + 1*2-1 + 1*2-2
4 + 0 + 0 + 1 + 0.5 + 0.25 = 5.25(10)
v
Zadatci:
• pretvorite iduće binarne brojeve u dekadske:• 11001
• 11100101
• 111.001
Rješenja:
• 11001 = 20 + 23+ 24 = 25
• 11100101 = 20 + 22+ 25 + 26 + 27 = 229
• 111.001 = 20 + 21+ 22 + 2−3 = 1 + 2 + 4 + 0.125 =7.125
Pretvaranje iz binarnih brojeva u oktalne
101.11 (2)
(10)
101110
5.6 (8)
•
10111 (2)
010111
27(8)
uzimamo po 3 znamenke te ih pomoću tablice
pretvaramo
Pretvaranje iz binarnih brojeva u heksadekadske
101.11 (2)
(10)
01011100
5.C (16)
•
10111 (2)
00010111
17(16)
uzimamo po 4 znamenke te ih pomoću tablice
pretvaramo
Zadatci:
• iz binarnog u oktalni:• 10011
• 101.11
• iz binarnog u heksadekadski:• 10000111
• 100.111
Rješenja:
• iz binarnog u oktalni:• 010011 = 23
• 101.110 = 5.6
• iz binarnog u heksadekadski:• 10000111 = 87
• 0100.1110 = 4.E
Pretvaranje iz dekadskih brojeva u binarne
49/2=24.524/2=1212/2=66/2=33/2=1.51/2=0.5
100011
110001(2)
49(10)
Pretvaranje iz decimalnih brojeva u binarne
28/2=1414/2=77/2=3.53/2=1.51/2=0.5
00111
11100
28.48(10) 0.48*2=0.960.96*2=1.920.92*2=1.840.84*2=1.680.68*2=1.360.32*2=0.72
…
11100.011110…(2)
Pretvaranje iz dekadskih brojeva u oktalne i heksadekadske
49/8 = 66/8 = 0
16
61(8)
49(10)
49/16 = 33/16 = 0
13
31(16)
Zadatci:
• pretvorite iduće dekadske brojeve u binarne:• 56
• 23.52
• pretvorite iduće dekadske brojeve u oktalne• 23
• pretvorite iduće dekadske brojeve u heksadekadske• 18
Rješenja:
• pretvorite iduće dekadske brojeve u binarne:• 56 = 111000
• 23.5 = 10111.1
• pretvorite iduće dekadske brojeve u oktalne• 23 = 27
• pretvorite iduće dekadske brojeve u heksadekadske• 18 = 12
Pretvaranje oktalnih brojeva u dekadske
• 47(8) = (7*80) + (4*81) = 7 + 32 = 39(10)
• 13.22(8) = (3*80) + (1*81) + (2*8-1) + (2*8-2) = 11.281(10)
Pretvaranje oktalnih brojeva u binarne
• 47(8) = 100111(2)
• 4 = 100, 7 = 111
• 13.22(8) =111.1010 (2)
• 1 = 1, 3 = 11, 2 = 10
Pretvaranje iz heksadekadskih brojeva u dekadske
• 1D(16) = 13*160 + 1*161 = 29(10)
• 2.B(16) = 11*16 -1 + 2*160 = 2.6875(10)
Pretvaranje iz heksadekadskih brojeva u binarne
• 1D(16) = 00011101(2)
• 1 = 0001, D = 1101
• 2.B(16) = 0010.1011(2)
• 2 = 0010, B = 1011
Zbrajanje binarnih brojeva
broj koji se prenosi za zbrajanje u idući stupac
bojevi koji se prenose tijekomzbrajanja donja dva broja
Množenje binarnih brojeva
1 * 1 = 1, 1 * 0 = 0, 1 * 1 = 1, 1 * 1 = 11011 (prvi broj za zbrajanje) nastao je množenjem
prve znamenke množitelja (1011) sa svim znamenka množenika (1101)
množenik (1101) se množi od zadnje znamenke prema prvoj (množimo od desna prema lijevo)
0 * 1 = 0, 0 * 0 = 0, 0 * 1 = 0, 0 * 1 = 00000 (drugi broj za zbrajanje) nastao je množenjem
druge znamenke množitelja (1011) sa svim znamenkama množenika (1101)
svaki novi zbrajatelj pomičete za jedan stupac ulijevo
Oduzimanje binarnih brojeva
0 – 0 = 0
0 – 1 = 1prenosi se jedan
1 – 0 = 1
1 – 1 = 0
1111- 101
1010
10111- 1001
101111
- 100101110
Oduzimanje binarnih brojeva (metoda dvojnog komplementa)
• 1001 – 101 = 1001 – 0101 = 1001 + 1 + 1010
• 1111 – 1010 = 1111 + 0101 + 1
1001+0001+101010100
1111+0001+010110101
Zapis brojeva pomoću dvojnog komplementa
• brojevi se zapisuju u 8 bitova
• ako je broj negativan, onda je predznak 1
• ako je broj pozitivan, onda je predznak 0
16(10) = 10000(2)
0 0 0 1 0 0 0 0
-16(10)
0 0 0 1 0 0 0 0
1 1 1 0 1 1 1 1
+1
=1 1 1 1 0 0 0 0
Tehnika klizne decimalne točke
• tehnika kojom broj zapisujemo tako da ima samo jednu cjelobrojnu znamenku iza koje slijedi decimalni dio i eksponent
• npr. 7123.567 = 7.123567 * 103
• mantisa je broj 7.123567, eksponent je 3
• 101 = 1.01 * 102 (mantisa je 1.011, a eksponent je 2)
IEEE 754 (Institute of Electrical and Electronics Engineers 754)
• ovaj standard koristi 32 bita za prikaz znakova
• u zapisu broja razlikujemo tri djela: predznak, karakteristiku i mantisu bez vodeće jedinice
• predznak za pozitivne brojeve je 0, a za negativne 1
• karakteristika = eksponent + 127
broj 11.25(10) u IEEE 754 standardu
11.25(10) = 1011.01(2) = 1.01101(2) * 103
karakteristika - 3 + 127 = 130(10) = 10000010(2)
0 10000010 01101 000000000000000000
predznak, karakteristika, mantisa bez vodeće jedinice, nule koje dodajemo dok sveukupno ne dobijemo 32 bita
ASCII kod
• ASCII kod sastoji se od 7 bitova te time može prikazati 27 – 127 znakova
• znakove pretvaramo u heksadekadske brojeve koristeći se tablicom tako da za svaku ćeliju gdje je znak prvo napišemo njezinu oznaku stupca te retka
• Golf2• G = 47(16), o = 5f(16), l = 6c(16), f = 66(16), 2 = 42(16)
• dobivene heksadecimalne vrijednosti možemo po potrebi dalje pretvarati u druge brojevne sustave