Elektronika

Edukativni tekstovi iz sveta elektronike

Komponente

Opisi komponenata koje se koriste u elektronici

Novosti

Najnovije vesti iz elektronike i ostalih srodnih oblasti

Projekat

Projekti iz elektronike za samogradnju

Rečnik

Rečnik pojmova iz elektronike i računarstva

Početna » Digitalna Elektronika

Konvezija broja između brojnih sistema

Autor | Subota, 27. Jun 2009.Nema komentara

Neki brojni sistemi imaju prednost nad drugim brojnim sistemima. Da bi smo bili u mogućnosti da koristimo prednosti svih brojnih sistema, mora postojati način da se izvrši konverzija predstave broja iz jednog brojnog sistema u drugi.

Uopštena konverzija

Jednostavan algoritam za prevođenje broja iz jednog u drugi brojni sistem sastoji se iz dva dela: jednog za celobrojni deo i jednog za razlomljeni deo. Konvertovanje se vrši za apsolutnu vrednost broja, dok se znak samo prenosi.

NAPOMENA: Da bi smo smanjili pisanje oznaka brojnog sistema na nekim mestima, smatraćemo da je svaki broj, zapisan bez oznake brojnog sistema, zapisan u dekadnom brojnom sistemu.

Konvertovanje celobrojnog dela broja

Konvertovanje se vrši tako što se vrednost broja deli sa vrednošću baze željenog brojnog sistema, a ostaci pri deljenju daju cifre broja počevši od najmanje značajne cifre.

Za prvi primer uzećemo neki broj zapisan u dekadnom brojnom sistemu radi lakšeg razumevanja. Neka broj 45291510 hoćemo da konvertujemo u brojni sistem sa osnovom 6, tada je tok konvertovanja sledeći:


 45291510 / 610 = 7548510 ostatak 5
 7548510 / 610 = 1258010 ostatak 5
 1258010 / 610 =  209610 ostatak 4
 209610 / 610 =   34910 ostatak 2
 34910 / 610 =    5810 ostatak 1
 5810 / 610 =     910 ostatak 4
 910 / 610 =     110 ostatak 3
 110 / 610 =     010 ostatak 1

 

Konvertovanje se završava kada za rezultat deljenja dobijemo 0. Broj se sada može pročitati tako što se pročitaju cifre koje su dobijene kao ostaci počevši od poslednje cifre, koja ujedno predstavlja i najznačajniju cifru u ciljanom brojnom sistemu. Za naš slučaj dobili smo broj 134124556 = 45291510.

U slučaju kad želimo da izvršimo konverziju iz brojnog sistema sa manjom osnovom u brojni sistem sa većom osnovom postupak je identičan. Sledi primer konvertovanja broja 12112113 iz brojnog sistema sa bazom 3 u brojni sistem sa bazom 7.


 12112113 / 213 = 210103 (19210) ostatak 17
 210103 / 213 =  10003 ( 2710) ostatak 37
 10003 / 213 =    103 (  310) ostatak 67
 103 / 213 =     0  (  0)   ostatak 37 

Dobili smo da je 12112113 = 36317 = 134510.

Konvertovanje razlomljenog dela broja

Za konvertovanje razlomljenog dela koristi se metoda množenja gde se razlomljeni deo množi sa bazom brojnog sistema u koji se želi broj konvertovati. Celi delovi broja koji se dobije množenjem razlomljenog dela i baze predstavlja cifru broja u željenom brojnom sistemu. Razlomljeni deo proizvoda, se nastavlja množiti sa bazom broja da bi se dobila sledeća cifra. Postupak se zaustavlja u momentu kada se dobije vrednost, razlomljenog dela proizvoda, jednaka nuli; ili u slučaju kada se dostigne određena tačnost rezultata. Razlomljeni deo u jednom brojnom sistemu može biti konačan dok u drugom može imati beskonačno mnogo cifara. Na primer 0.13 = 0.3333*10. Uzmimo za primer konvertovanje broja 0.1210 u brojni sistem sa osnovom pet:


 0.12 * 5 = 0.6  | 0.05
 0.6  * 5 = 3.0  | 0.035 

Za razliku od konvertovanja celobrojnog dela broja ovde se prvo izračunava najznačajnija cifra razlomljenog dela. Za primer uzećemo broj 0.432110 i konvertovaćemo ga u brojni sistem sa osnovom 4.


 0.4321 * 4 = 1.7284  | 0.14
 0.7284 * 4 = 2.9136  | 0.124
 0.9136 * 4 = 3.6544  | 0.1234
 0.6544 * 4 = 2.6176  | 0.12324
 0.6176 * 4 = 2.4704  | 0.123224
 0.4704 * 4 = 1.8816  | 0.1232214
 0.8816 * 4 = 3.5264  | 0.12322134
 ...
 

U ovom primeru ćemo se zaustaviti na sedmoj cifri, jer smatramo da nam sve ostale cifre koje slede nose informaciju manju od 4-7 te smatramo da se one mogu zanemariti.

Konverzija broja u dekadni brojni sistem

Kada je potrebno izvršiti konvertovanje broja u dekadni brojni sistem, tu operaciju možemo izvršiti na sledeći način:

(...a3a2a1a0.a-1a-2...)b = ... + a3*b3 + a2*b2 + a1*b1 + a0*b0 + a-1*b-1 + a-2*b-2 + ...

gde su ai cifre broja, a b baza brojnog sistema u kojem je broj zapisan.

Kao primer, dat je broj 134124556 zapisan u brojnom sistemu sa osnovom 6 i njegova konverzija u dekadni brojni sistem. Ujedno ovaj primer služi i kao dokaz za tok konverzije koji je dat u odeljku o algoritmu za uopštenu konverziju.

  
 134124556 = 1*67+3*66+4*65+ 1*64+2*63+
 4*62+5*61+5*60
 = 1*279936 + 3*46656 + 4*7776 +
 1*1296 + 2*216 + 4*36+5*6 + 5*1
 = 279936 + 139968 + 31104 + 1296 + 
 432 + 144 + 30 + 5
 = 45291510 

Isti je postupak i za razlomljeni deo:


 0.035  = 0*50 + 0*5-1 + 3*5-2
 = 0   +   0  + 3*0.04
 = 0.1210 

Konverzija binarni-heksadecimalni brojni sistem

Kao posebna konverzija reprezentacije brojeva, između brojnih sistema, izdvaja se konverzija između binarnog i heksadecimalnog brojnog sistema. Baza heksadecimalnog brojnog sistema šesnaest, je četvrti stepen dvojke, te iz toga toga sledi da svaka grupa od četiri cifre u binarnom brojnom sistemu odgovara tačno jednoj cifri iz heksadecimalnog brojnog sistema. Važi i obrnuta relacija. Zbog ove osobine možemo vršiti jednostavno konvertovanje između ova dva sistema na sledeći način.

Kada konvertujemo iz heksadecimalnog u binarni brojni sistem, za svaku heksadecimalnu cifru uzmemo iz tabele određenu kombinaciju cifara i zapišemo ih u redosledu u kom su bile cifre heksadecimalnog broja.

Decimalna vrednost broja Heksadecimalna reprezentacija broja Binarna reprezentacija broja
0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
13 D 1101
14 E 1110
15 F 1111

Primer:


 12ADF16 = 0001 0010 1010 1101 11112 

Za konvertovanje iz binarnog brojnog sistema u heksadecimalni, grupišemo cifre u grupu od po četiri, počevši od najmanje značajne cifre. Ukoliko poslednja grupa cifara ima manje od četiri cifre, ispred najznačajnije cifre dodaju se 0 dok se ne dobije grupa od 4 cifre. Tada se pristupa konverziji, tako što se svaka grupu cifara zameni sa cifrom heksadecimalnog sistema koja se odabere iz tabele.

Primer:


 11010010102 = 11 0100 10102 
 = 0011 0100 10102 
 = 34A16 

Leave your response!

You must be logged in to post a comment.