Oktalni sistem

S Vikipedije, slobodne enciklopedije

Oktalni brojevni sistem je sistem zapisa brojeva sa bazom osam, danas često primenjivan u informatici i računarstvu. Koristi cifre u opsegu 0 do 7. Prvih nekoliko prirodnih brojeva (skup N0) ovog sistema upoređenih sa decimalnim glasi:

Oktalan broj 10 11 12 13 14 15 16 17 20 21 ...
Decimalan broj 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

Konverzije u druge baze[uredi | uredi izvor]

Binarni sistem[uredi | uredi izvor]

Relativno je jednostavno konvertovati brojeve iz binarnog u oktalni sistem, i obrnuto. Razlog za ovo je da je baza 8 = 2³ treći stepen baze 2, te se jedna oktalna cifra može uvek predstaviti sa tri binarne. Sa druge strane, svake tri binarne cifre se mogu predstaviti sa jednom oktalnom, kao što je prikazano na tabeli ispod.

Binaran broj 000 001 010 011 100 101 110 111
Oktalan broj 0 1 2 3 4 5 6 7

Slede primeri konverzija:

  • (11010)2 = (011 010)2 = (3 2)8 = (32)8
  • (1,1101)2 = (001, 110 100)2 = (1, 6 4)8 = (1,64)8
  • (254)8 = (2 5 4)8 = (010 101 100)2 = (010101100)2
  • (36,4)8 = (3 6, 4)8 = (011 110, 100)2 = (11110,1)2

Heksadecimalni sistem[uredi | uredi izvor]

Ne postoji stepena veza između baza 16 = 24 i 8 = 2³, te konverzija iz heksadecimalnog u oktalni sistem i obrnuto nije izvodiva na način na koji je to moguće pri konverziji između binarnog i oktalnog sistema. Ipak, pošto oba broja imaju zajedničku osnovu 2, konverzije se mogu vršiti prvobitnim konvertovanjem broja na binarni zapis, i njegovim prevođenjem na željenu bazu, sledi par primera:

  • (AF)16 = (1010 1111)2 = (010 101 111)2 = (257)8
  • (C,8)16 = (1100, 1000)2 = (001 100, 100)2 = (14,4)8
  • (564)8 = (101 110 100)2 = (0001 0111 0100)2 = (174)16
  • (12,7)8 = (001 010, 111)2 = (1010,0111)2 = (A,7)16

Drugi sistemi[uredi | uredi izvor]

Ukoliko se konverzija vrši između oktalne i baze koja je stepen dvojke, problem je uvek moguće rešiti analogno sa prethodna dva slučaja. U opštem slučaju, konverzija se može uvek na najlakši način izvesti prevođenjem oktanlog broja u decimalni, i potom decimalnog u željenu bazu.

Primer: konverzija broja 540 iz baze 8 u bazu 11

  • Prvo treba konvertovati broj 540 iz baze 8 u bazu 10:
(540)8 = 5·8² + 4·81 = 320 + 32 = 352
  • Potom ovaj broj razložiti na stepene broja 11:
352 = 2·11² + 10·110 = (2A)11