Pozicioni zapis celog broja

Brojeve svakodnevno zapisujemo u dekadnom sistemu, odnosno sistemu sa osnovom 1010. Navikli smo da koristimo cifre od 00 do 99, ali to nije jedini način na koji brojevi mogu biti predstavljeni.

Računari, na primer, koriste binarni sistem sa osnovom 22, jer elektronski uređaji prirodno razlikuju samo dva stanja: uključeno i isključeno. Pored binarnog sistema često se koriste i oktalni sistem (osnova 88) i heksadecimalni sistem (osnova 1616).

Iako izgledaju različito, svi brojevni sistemi zasnivaju se na istom principu: vrednost cifre zavisi od njenog mesta u zapisu. U dekadnom broju 235235 cifra 22 predstavlja dve stotine, cifra 33 tri desetice, a cifra 55 pet jedinica:

235=2102+3101+5100235 = 2 \cdot 10^2 + 3 \cdot 10^1 + 5 \cdot 10^0

U ovoj lekciji naučićeš kako funkcionišu različiti brojevni sistemi, kako da pretvaraš brojeve iz jedne osnove u drugu i kako se binarni, oktalni i heksadecimalni sistemi povezuju sa dekadnim zapisom koji svakodnevno koristimo.

Sadržaj

Kako radi brojevni sistem

Sistem sa osnovom bb koristi cifre od 00 do b1b - 1. Vrednost broja je zbir proizvoda svake cifre sa stepenom osnove koji odgovara njenom mestu, pri čemu se mesta broje od 00 sa desne strane:

vrednost=+c2b2+c1b1+c0b0\text{vrednost} = \dots + c_2 \cdot b^2 + c_1 \cdot b^1 + c_0 \cdot b^0

Osnovu zapisujemo kao indeks: 101121011_2, 1738173_8, 23510235_{10}, ABC16ABC_{16}.

Kada je osnova veća od 1010, potrebne su nam cifre veće od 99, pa koristimo slova:

A=10,B=11,C=12,D=13,E=14,F=15A = 10, \quad B = 11, \quad C = 12, \quad D = 13, \quad E = 14, \quad F = 15

Za pretvaranje su dovoljna samo dva pravila: kako iz bilo koje osnove preći u dekadni, i kako iz dekadnog preći u bilo koju osnovu. Sve ostalo su kombinacije ta dva pravila.

1. Iz osnove b u dekadni sistem

Svaki brojevni sistem koristi određenu osnovu koja određuje vrednost mesta u zapisu. Kada broj iz neke osnove želimo da prevedemo u dekadni sistem, potrebno je da pronađemo vrednost svake njegove cifre.

Cifre ne posmatramo samo kao pojedinačne brojeve. Njihova vrednost zavisi od mesta na kom se nalaze: mesto krajnje desne cifre ima težinu b0b^0, sledeće mesto b1b^1, zatim b2b^2 i tako dalje.

Zato broj u osnovi bb možemo zapisati u razvijenom obliku:

anan1a1a0b=anbn+an1bn1++a1b1+a0b0\overline{a_n a_{n-1} \dots a_1 a_0}_b = a_n \cdot b^n + a_{n-1} \cdot b^{n-1} + \dots + a_1 \cdot b^1 + a_0 \cdot b^0

Drugim rečima, svaku cifru množimo stepenom osnove koji odgovara njenom mestu, a zatim sve saberemo.

Zadatak. Prevesti (1234)8(1234)_8 u dekadni sistem.

Rešenje.

Svaku cifru množimo stepenom osnove 88 prema njenom mestu (zdesna počinjemo od 808^0):

(1234)8=183+282+381+480(1234)_8 = 1 \cdot 8^3 + 2 \cdot 8^2 + 3 \cdot 8^1 + 4 \cdot 8^0

Računamo stepene i sabiramo:

(1234)8=512+128+24+4=668(1234)_8 = 512 + 128 + 24 + 4 = 668

Ako osnova ima slovne cifre, prvo ih zamenimo vrednostima. Na primer:

3E16=316+14=623E_{16} = 3 \cdot 16 + 14 = 62

2. Iz dekadnog u osnovu b

Kada želimo da broj iz dekadnog sistema prevedemo u neki drugi brojevni sistem, koristimo uzastopno deljenje osnovom novog sistema.

Zašto baš deljenje? Svaki broj možemo zapisati pomoću stepena njegove osnove. Na primer, u dekadnom sistemu:

2748=2103+7102+4101+81002748 = 2 \cdot 10^3 + 7 \cdot 10^2 + 4 \cdot 10^1 + 8 \cdot 10^0

Kada broj podelimo novom osnovom, ostatak pri deljenju govori koja cifra stoji na mestu jedinica u tom novom sistemu. Zatim isti postupak nastavljamo sa količnikom da bismo pronašli sledeće cifre.

Postupak ponavljamo sve dok količnik ne postane 00. Dobijene ostatke čitamo obrnutim redosledom, jer prvi dobijeni ostatak predstavlja cifru najmanje težine (onu krajnje desno).

Ovo pravilo važi za sve brojevne sisteme i postupak je isti. Menja se samo broj sa kojim delimo. Delimo sa 22 za binarni sistem, sa 88 za oktalni i sa 1616 za heksadecimalni sistem.

Zadatak. Prevesti 27482748 iz dekadnog u heksadecimalni sistem.

Rešenje.

Delimo sa 1616 i pratimo ostatke, sve dok količnik ne postane 00:

DeljenjeKoličnikOstatak
2748÷162748 \div 1617117112=C12 = C
171÷16171 \div 16101011=B11 = B
10÷1610 \div 160010=A10 = A

Ostatke čitamo odozdo nagore:

274810=ABC162748_{10} = ABC_{16}

Rezultat se čita od poslednjeg ostatka ka prvom (odozdo nagore). Ako ostatke pročitaš redom kojim su dobijeni, dobićeš pogrešan broj.

Na primer, broj 123123 u oktalni sistem prevodimo istim postupkom, samo sa deliocem 88:

DeljenjeKoličnikOstatak
123÷8123 \div 8151533
15÷815 \div 81177
1÷81 \div 80011

Čitajući ostatke odozdo nagore, 12310=1738123_{10} = 173_8.

3. Iz jedne osnove u drugu

Kada nijedna osnova nije 1010, ne treba nam novo pravilo. Prvo iz polazne osnove pređemo u dekadni sistem (pravilo 1), pa iz dekadnog u ciljnu osnovu (pravilo 2). Dekadni sistem je most.

Zadatak. Broj 210242102_{4} napisati u sistemu sa osnovom 55.

Rešenje.

Prvo iz osnove 44 u dekadni sistem (razvijeni oblik):

21024=243+142+041+240=128+16+0+2=1462102_4 = 2 \cdot 4^3 + 1 \cdot 4^2 + 0 \cdot 4^1 + 2 \cdot 4^0 = 128 + 16 + 0 + 2 = 146

Zatim iz dekadnog u osnovu 55 (uzastopno deljenje):

DeljenjeKoličnikOstatak
146÷5146 \div 5292911
29÷529 \div 55544
5÷55 \div 51100
1÷51 \div 50011

Čitajući ostatke odozdo nagore:

21024=104152102_4 = 1041_5

4. Prečica: binarni, oktalni i heksadecimalni

Kada je jedna osnova stepen druge, pretvaranje ide bez računanja preko dekadnog. Pošto je 8=238 = 2^3, jedna oktalna cifra odgovara tačno trima binarnim ciframa; pošto je 16=2416 = 2^4, jedna heksadecimalna cifra odgovara tačno četirima binarnim. Zato binarni broj samo grupišemo.

Grupa (bin)000000001001010010011011100100101101110110111111
Cifra (okt)0011223344556677

Zadatak. Prevesti 1000100110102100010011010_2 u oktalni sistem.

Rešenje.

Grupišemo cifre u trojke, počevši zdesna:

100010011010100 \quad 010 \quad 011 \quad 010

Svaku trojku prevedemo u jednu oktalnu cifru:

1002=4,0102=2,0112=3,0102=2100_2 = 4, \quad 010_2 = 2, \quad 011_2 = 3, \quad 010_2 = 2

1000100110102=42328100010011010_2 = 4232_8

Za heksadecimalni sistem grupišemo u četvorke. Ako krajnja leva grupa nema dovoljno cifara, dopunimo je nulama sleva:

101011011020010  1011  0110=2B6161010110110_2 \rightarrow 0010 \; 1011 \; 0110 = 2B6_{16}

U suprotnom smeru svaku oktalnu cifru zamenimo sa tri bita, a svaku heksadecimalnu sa četiri bita.

Grupišemo uvek zdesna (od cifre najmanje težine). Nedostajuće cifre u krajnjoj levoj grupi dopunjavamo nulama, i to sleva. Grupisanje sleva daje pogrešan rezultat.

Ista prečica radi kad god je jedna osnova stepen druge. Na primer, 4=224 = 2^2, pa jedna cifra u osnovi 44 odgovara tačno dvema binarnim ciframa.