субота, 25. април 2015.

Oktalni računarski brojevni sistem

Već sam pisao o tome šta je binarni sistem brojeva. Već sam objasnio i šta je ASCII i kako u suštini kompjuter komunicira i razmenjuje informacije sa nama. Da bi se aritmetičke operacije i konvertovanje u binarnisistem lakše izvodilo bilo je neophodno ubaciti nekog posrednika koji će to sve mnogo lakše pojednostaviti. Tako su vam u računarima uvedeni prvo oktalni pa i heksadecimalnibrojevni sistem. Zajedno sa dekadnim i binarnim sistemom oni spadaju u pozicioni brojni sistem jer im vrednost cifre ima različitu vrednost u zavisnosti od pozicije na kojoj se oni nalaze u zapisu broja.
    

( Oktalni brojevi pojednostavljuju binarne )


Oktalni brojni sistem je broj sa bazom 8 i ciframa od 0 do 7. Koristi se uglavnom na uređajima sa 12, 24 i 36-bitnoj mikroprocesorskom arhitekturom. Kod modernih računara se uglavnom koristi heksadecimalni sistem. Oktalni brojni sistem se i dalje koristi kod nekih izračunavanja, npr. kod dozvola fajla na Unix sistemima jer ne traže nikakve dodatne simbole kao cifre, ali i kod
Digital display-a. U programskim jezicima poput C, Perl-a, PostScript-a se obično identifikuje sa prefiksima o, O, 0, 0o ili q. Kod Motorola konvencije se koristi prefiks @. Npr. oktalni broj 75 izgleda ovako:  



075, o75, q75, 0o75, /75, @75, 75o  

Razlika između dekadni i oktalni brojeva izgleda ovako:



( Oktalni sistem brojeva, tabela )

Kako pretvoriti dekadni broj u oktalni?

Pretvaranje dekadnog broja u oktalni se radi isto kao i sa binarnim, samo što je kod oktalni brojeva baza 8. Npr.

17510 =

175 : 8 = 21 ostatak 7
  21 : 8 =  2  ostatak 5
    2 : 8 =  0  ostatak 2

17510 = 2578

Kako pretvoriti oktalni broj u dekadni?

Pretvaranje oktalnog broja u dekadni je još jednostavnije.

257 = 2 * 82 + 5 * 81 + 7 * 80  = 128 + 40 + 7 = 175

Kako sabrati oktalne brojeve?

Sabiranje oktalnog broja je slično kao u dekadnombrojevom sistemu, samo što se mora imati u vidu da ne radimo sa deseticama.

7128        +
4158        =
-----------------------

     27            -  ali 7 i 4 su 11, pa onda pišemo 11 – 8 = 3 dok 1 prebacujemo na levo; 
 1327

Kako oduzimati oktalne brojeve?

Oduzimanje oktalni brojeva zahteva malo dodatnog računanja.

7128        -
4158        =
-----------------------
       
Pošto 5 u 2 ne može, 2 umesto 10 dodajemo 8 dok drugoj poziciji oduzimamo 1

    5

1 u 0 ne može, opet dodajemo 8 a trećoj poziciji oduzimamo 1

  75

Od 6 oduzimamo 4 i sve zajedno smo dobili  

275

Kako se množe oktalni brojevi?

Što se tiče množenja oktalni brojeva, to je isto kao sa dekadnim množenjem ali sve se množi na bazi 8, tako da će vam ova mala tabela za početak, itekako olakšati množenje.


( Množenje osnovnih oktalni brojeva, tabela )

Pa sad kad hoćemo da pomnožimo 428 sa 368 onda to izgleda ovako:

428        *
368        =
-------------------

6 * 2 = 14; - znači pišemo 4 i dodajemo 1 na sledeću poziciju levo

      4

6 * 4 =  30 + 1 što smo ga prebacili je 31, kad spustimo dobijemo:

    314

zatim množimo 2 * 3 i to je isto 6 kao u dekadnom sistemu brojeva.

   314 +
     6

pomnožimo  4 * 3 = 14 ;

  314  +   - takođe moramo sabirati kao oktalne brojeve, u ovom primeru to je isto;
146
---------------
1774

428 * 368 = 17748

Kako deliti oktalne brojeve?

Uzećemo npr. broj 5728 i podeliti sa 68 .

 5728 :  68  =

6 u 5 nema ni jedna, ali koliko ima 6-tica u 57? Tačno je da ih ima 9, ali koliko ih ima u oktalnom
broju 578? I za tu informaciju pogledajte gore prikazanu tabelu množenja osnovnih oktalnih brojeva.
Iz tabele vidimo 52; znači;

 5728 :  68  = 77   
-52
-----
    52
   -52
   -----
       0

Kako pretvoriti oktalni broj u binarni?

Npr. 5728 ;

Prvo ćemo se podsetiti binarne tabele, za brojeve od 0 do 7.


( Tabela prvih 8 binarnih brojeva )

572 razdvojite na cifre; 5 - 7 - 2 i zamenite sa binarnim ekvivalentom:

101 - 111 - 010  =
101111010

 5728 = 101111010

Kako pretvoriti binarni broj u oktalni?

Samo obrnete proces!

101111010  razdvojite na 3 decimale sa desna na levo:

101 – 111 – 010  zamenite ih dekadnim ekvivalentom:

5 - 7 - 2  

101111010 = 5728  

Kako da oktalni broj pretvorite u heksadecimalni?

Prvo oktalni broj pretvorite u binarni zatim binarni pretvarate u heksadecimalni.

Kako da pretvorite heksadecimalni broj u oktalni?

Najlakši način vam je da heksadecimalni broj prvo podelite u binarni zatim binarni broj pretvarate u oktalni.