Professional Documents
Culture Documents
URS - Konverzije PDF
URS - Konverzije PDF
Primer nepozicionih brojnih sistema su npr. rimski brojevi (I, II, III, V,X, L, MC...)
Pozicioni brojni sistemi nazivaju se i težinski, jer svaka pozicija ima svoju težinu
najveća težina → 12345 ← najmanja težina
B-baza (B) označava koliko različitih cifara postoji u nekom brojnom sistemu.
Primer:
Binarni B(2)={0, 1}
Tercijalni B(3)={0, 1, 2}
Oktalni B(8)={0, 1, 2, 3, 4, 5, 6, 7}
Dekadni B(10)={0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
Haxadni B(16)={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}
U brojnim sistemima koji imaju više od 10 cifri koristimo slova: A=10, B=11, C=12, D=13,
E=14, F=15...
B = malo stado
B · B = srednje stado
B · B · B = veliko stado
* Zadatak tipa 2544(5) → (10) , ne treba raditi nego samo napisati da je to neispravan broj, jer broj
sa bazom (5) ne može sadržati cifru 5.
Korisno za naučiti
n n2 n3 n4
2 4 8 16
3 9 27 81
4 16 64 256
5 25 125 625
6 36 216 1296
7 49 343 2401
8 64 512 4096
9 81 729 6561
10 100 1000 10000
11 121 1331 14641
12 144 1728 20736
13 169 2197 28561
14 196 2744 38416
15 225 3375 50625
16 256 4096 65536
17 289 4913 83521
18 324 5832 104976
19 361 6859 130321
20 400 8000 160000
Stepeni 2 do 216
2 4 8 16 32 64 128 256
2-1 = 0.5
2-2 = 0.25
2-3 = 0.125
2-4 = 0.0625
2-5 = 0.03125
Primer:
10110101(2) = 1 · 20 + 0 · 21 + 1 · 22 + 0 · 23 + 1 · 24 + 1 · 25 + 0 · 26 + 1 · 27
= 1 · 1 + 0 · 2 + 1 · 4 + 0 · 8 + 1 · 16 + 1 · 32 + 0 · 64 + 1 · 128
= 1 + 4 + 16 + 32 +128
= 181(10)
1234(5) = 4 · 50 + 3 · 51 + 2 · 52 + 1 · 53
= 4 + 15 + 50 + 125
= 194(10)
2763(8) = 3 · 80 + 6 · 81 + 7 · 82 + 2 · 83
= 3 + 48 + 448 + 1024
= 1523(10)
Prvo se utvrde stepeni baze (mala, srednja, velika itd. stada) tako da je najveći stepen baze manji
od datog broja (B0 B1 ... Bn < N)
Primer:
485(10) → (2) 1 2 4 8 16 32 64 128 256 512
485(10) → (8) 1 8 64 512
Primer:
485(10) → (8) 1 8 64
7 · 64 = 448 - 64 (B2) sadrži se 7 puta u broju 480, tako da je 7 broj sa najtežom pozicijom u
novom brojnom sistemu.
485(10) = 7xx (8)
37 - 32 = 5 - ostaje nam 5
Pošto je 5 broj jedinica, tj. manji je od najmanjeg stada, njega prepisujemo na najlakšu poziciju
brojnog sistema.
485(10) = 745 (8)
Primer 2:
Prebacivanje iz decimalnog u binarni je dobar primer jer nema množenja, samo je potrebno znati
setpene broja 2.
485(10) → (2) 1 2 4 8 16 32 64 128 256
Za vezbu:
700 (10)=1010111100 (2) 700 (10)= 2020 (7) 700 (10)= 41B (13) 700 (10)= 22G (18)
700 (10)= 221221 (3) 700 (10)= 1274 (8) 700 (10)= 380 (14) 700 (10)= 1HG (19)
700 (10)= 22330 (4) 700 (10)= 857 (9) 700 (10)= 31A (15) 700 (10)= 1F0 (20)
700 (10)= 10300 (5) 700 (10)= 587 (11) 700 (10)= 2BC (16)
700 (10)= 3124 (6) 700 (10)= 4A4 (12) 700 (10)= 273 (17)
1.3 - Konverzija kada je jedna baza stepen druge
B1n = B2 → 32 = 9
Primer 2:
10231 (4) = 12D (16)
1 | 02 | 31 (4) = 1 | 0 · 4 + 2 | 3 · 4 + 1 = 12D (16)
Ovde radimo suprotno tj. pretvaramo svaku cifru broja sa većom bazom u dve cifre broja sa
manjom bazom
7 | 8 | 1 (9) = 2 · 3 + 1 | 2 · 3 + 2 | 0 · 3 + 1 = 212201 (3)
Primer 2:
211 (9) = 20101 (3)
Napomena: Pošto je jedna baza kvadrat druge grupisali smo cifre po dve. Da je B13 = B2 grupisali
bismo cifre po 3 cifre itd.
1.4 - Konverzije oktalni ↔ binarni ↔ hexa
23 = 8
24 = 16
oktalno ↔ binarni
327 (8) = 011 | 010 | 111 = 11010111 (2)
hexa ↔ binarni
D7 (16) = 1101 | 0111 = 11010111 (2)
oktalno ↔ hexa
23704503 (8) = 010 | 011 | 111 | 000 | 100 | 101 | 000 | 011
= 0100 | 1111 | 1000 | 1001 | 0100 | 0011 = 4F8943 (16)
Kod sabiranja treba obratiti paznju na to koliko brojni sistem ima cifara:
1(2) + 1(2) = 10(2)
5(8) + 5(8) = 12(8)
7(16) + A(16) = 11(16)
binarni → decimalni
1.1111 (2) = 1 · 20 + 1 · 2-1 + 1 · 2-2 + 1 · 2-3 + 1 · 2-4
= 1 + 0.5 + 0.25 + 0.125 + 0.0625
= 1.9375(10)
hexa → decimalni
1.A (16) = 1 · 160 +10 · 16-1
= 1 + 0.625
= 1.625 (10)
decimalni → binarni
Ovde je suština u tome da slično kao kada smo tražili pozitivne stepene broja 2, tražimo
negativne stepene. Znači gledamo koliko ima polovina (2-1), četvrtina (2-2), osmina (2-3),
šesnaestina (2-4) itd.
Primer 1:
0.625 (10) = 0.101 (2)
Primer 2:
0.625 (10) = 0.101 (2)
0.625 /·2
1.250 ima polovina /0.25 · 2
0.50 nema četvrtina /0.5 · 2
1.0 ima osmina
Primer 3:
0.42 (10) = 0.01101... (2)
0.42 / · 2
0.84
1.68
1.36
0.72
1.44 ...
2 - Predstavljanje brojeva u računaru
Uobičajen način da se u matematici predstave negativni brojevi u bilo kojoj bazi je da im se kao
prefiks doda znak “-“. Međutim, računari su binarne sprave u kojima postoje samo 0 i 1 tako da
nam je potreban metod kodiranja znakova + i -.
0 je najvažniji broj u radu računara i ona mora da bude jedinstvena, ne sme da postoji +0 i -0.
Negativni brojevi se moraju zapisivati na takav način da 0 bude jedinstvena.
Računar uvek radi odbrojavajući prema 0. Da li je nešto 0 ili nije je jedina odluka koju računar
donosi.
Potpuni komplement
Da bismo izvršili operaciju dodavanja potpunog kompementa prvo moramo utvrditi veličinu
brojeva sa kojom radimo. U računarima brojevi su uvek ograničeni (char 1 bajt, short int 2 bajta,
int i float 4 bajta, double 8 bajta). Npr uzmimo da smo ograničeni na 4 cifre
7324
- 3585
3739
DEFINICIJA:
Nepotpuni komplement (NC) nekog broja definiše se tako što se svaka njegova cifra zameni
dopunom do maksimalne cifre tog brojnog sistema.
“9” - devetka pod navodnicima označava najveću cifru nekog brojnog sistema.
“9”(16) = F
“9”(8) = 7
Prema tome svaku cifru zamenimo njenom dopunom do maksimalne cifre tog brojnog sistema.
NC (3585) = 6414
DEFINICIJA:
Potpuni komplement (PC) nekog broja dobija se kada se nepotpunom komplementu doda 1.
PC = NC + 1
PC = 6414 + 1 = 6415
DEFINICIJA:
Oduzimanje nekog broja ekvivalentno je dodavanju potpunog komplementa.
7324
+ 6415
1 3739
Potpuni komplement ima prednost što je kod njega 0 jedinstvena tj. ne postoji 0, +0, -0.
1 bajt
________ 0 - 255
Ako ove brojeve posmatramo kao cele neoznačene (unsigned) brojeve jedan bajt može da
predstavi brojeve 0-255.
Formula za neoznačene brojeve je od 0 do 2n-1 , gde je n broj bitova.
Ako ove brojeve posmatramo kao cele označene (signed) brojeve jedan bajt može da predstavi
brojeve (-128) - (+127).
Formula za označene brojeve je od -2n-1 do 2n-1-1 , gde je n broj bitova.
Na ovaj način postoji 128 negativnih brojeva, jedinstvena nula i 127 pozitivnih brojeva.
Primer: -1
00000001 (1)
11111110 NC (1)
+1
11111111 PC (1) = -1
Primer: -2
00000010 (2)
11111101 NC (2)
+1
11111110 PC (2) = -2
Primer: -128
10000000 (128)
01111111 NC (128)
+1
10000000 PC (128) = -128
Korisne osobine:
1 1111111 = -128 + 127 = -1
1 1111110 = -128 + 126 = -2 ...
Bit
Binarna cifra (Binary digit). Može biti 0 ili 1.
1 bajt
Osnovna jedinica grupisanja binarnih cifara je 8 bitova (23), odnosno 1 bajt. 1 bajt sadrži 256
različitih sadržaja i može da predstavlja neoznačene brojeve od 0 - 255 ili označene brojeve od -
128 do +127. Međutim ova jedinica je suviše mala tako da se koriste veći registri.
word - (reč) označava više bajtova. Nekada se koristila da označi 2 bajta, potom za 4 bajta, ali to
nije definisano što znaci da može da se odnosi i na više bajtova
2 bajta
Registrom veličine 2 bajta (16 bita) može se predstaviti 65536 različitih sadržaja, odnosno
neoznačeni brojevi od 0 - 65535 ili označeni brojevi od -32768 do +32767.
3 bajta
Registrom veličine 3 bajta (24 bita) može se predstaviti 16.7 miliona (16.7 mil) različitih
sadržaja. Ova dužina registra koristi se samo za boje tj. svaki od 3 bajta predstavlja jednu RGB
boju.
4 bajta
Registrom veličine 4 bajta (32 bita) može se predstaviti 4.3 milijarde (4.2 mrd) različitih
sadržaja, odnosno neoznačeni brojevi od 0 - 4.3 mrd ili označeni brojevi od -2147 mil do +2147
mil.
Skraćenice
210 ≈ 103
Kilo u dekadnom svetu znaci 1000 nečega, a u binarnom svetu znaci 1024 nečega. Ova sličnost
nam omogučava da na lak način okvirno odredimo dekadnu veličinu broja predstavljenog
stepenom dvojke.
Primeri:
232 = (210)3.2 ≈ (103)3.2 ≈ 109.6
216 = (210)1.6 ≈ (103)1.6 ≈ 104.8
2.3 - Predstavljanje razlomljenih brojeva
Primer: 323.45(10)
Normalizovan oblik eksponencijalnog zapisa je onaj čija mantisa je veća ili jednaka 1, a manja od
baze.
(1 ≤ |m| < B)
Drugim recima mantisa izgleda tako da ima jednu cifru . neki razlomak.
Brojevi u pokretnom zarezu nejčešće se zapisuju u registrima veličine 4 bajta (float) ili 8 bajta
(double), ali mogu se predstaviti i u proizvoljnom broju bajtova.
Da bi razlomljeni broj predstavili u računaru moramo ga prvo pretvori u binarni razlomak u
normalizovanom eksponencijalnom obliku.
U svakom registru moraju se predstaviti znak, eksponent i mantisa.
Uzmimo za primer zapis u 4 bajta
|_ _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ |
|0 _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ | +
|1 _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ | -
|x 1 1 1 1 1 1 1 | 1 _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ | _ _ _ _ _ _ _ _ |
|x y y y y y y y | y 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 | 1 1 1 1 1 1 1 1 |
se “odseće” 1. pošto je to deo koji se podrazumeva. Na taj način u 23 bita predstavljamo 24 bitnu
mantisu.
101010101010101010101010101010101010101010101
Kod zaokruzivanja mantise treba voditi računa o prvoj odbačenoj cifri, jer ako je ta cifra 1
mantisa može dobiti sasvim drugačiji oblik. Primeri:
1) 10101010101010101010101| 10
= 10101010101010101010110
2) 01111111111111111111111| 10
= 10000000000000000000000
Dužina registra Znak Eksponent Mantisa
bita bita bita
4 bajta (float) 1 8 23
8 bajta (double) 1 11 52
Na ispitu ćemo koristiti “naš” standard: registar veličine 2 bajta (16 bita), znak 1 bit, eksponent 5
bita, mantisa 10 bita. Eksponent predstavljamo kodom “višak 15”.
Zadatak 1: -52.13
52.13(10) = 110100.00100001...(2)
110100.00100001 = 1.1010000100001 E5
|1 1 0 1 0 0 1 0 | 1 0 0 0 0 1 0 0 |
Zadatak 2: 73.6
|0 1 0 1 0 1 0 0 | 1 0 0 1 1 0 1 0 | = 549A (16)
Zadatak 3: 4A07 (16)
|0 1 0 0 1 0 1 0 | 0 0 0 0 0 1 1 1 |
1 | 01000 | 1100101011
- 1.1100101011 E-7 =
- 0.00000011100101011 (2)