Oktális (nyolcas) számrendszer — más néven a nyolcas számrendszer — egy számrendszer, amely a 8-as bázisú helyiértékrendszert használja. Csak a 0-tól 7-ig terjedő számjegyek léteznek benne. Az oktális rendszer hasonló szerepet tölt be a számítástechnikában, mint a bináris vagy a hexadecimális rendszer, de más feladatokra előnyös. Az oktális számokat gyakran a szám elé tett o betűvel jelöljük, például o04 vagy o1242; néha egy kis 8-assal írják a jobb alsó sarokban, például 1242-ben8.

Alapok és notáció

Az oktális helyiértékek a 8 hatványai: 8^0, 8^1, 8^2, … . Egy n jegyű oktális szám értéke tehát:

dₙ₋₁·8ⁿ⁻¹ + dₙ₋₂·8ⁿ⁻² + ... + d₁·8 + d₀, ahol minden d i egy 0–7 közötti számjegy.

Példák:

  • o17 = 1·8 + 7 = 15 (tizedesben).
  • 12428 = 1·8³ + 2·8² + 4·8 + 2 = 512 + 128 + 32 + 2 = 674 (tizedesben).

Átváltás bináris és tizedes között

Az oktális és bináris rendszerek közötti átváltás különösen egyszerű, mert egy oktális számjegy pontosan három bináris bitnek felel meg (mivel 8 = 2³). Általános módszer:

  • A bináris számot jobbról balra háromszor hármas csoportokra osztjuk (szükség esetén vezető nullákat adunk hozzá).
  • Minden 3 bites csoportot egy oktális számjegyre váltunk.

Példa: 12428 → binárisan: 1→001, 2→010, 4→100, 2→010 → összefűzve 001010100010, ami tizedesben 674.

Tizedesről oktálisra váltás klasszikus módszere az osztás maradékkal: egymás után elosztjuk 8-cal, a maradékok adják visszafelé az oktális számjegyeket.

Számítások oktálisan

Az oktális összeadásnál és szorzásnál ugyanazok az algoritmusok érvényesek, mint más helyiértékes rendszerekben, csak a „túlcsordulás” (carry) 8-nál következik be. Például:

  • 58 + 68 = 138 (mert 5 + 6 = 1110 = 1·8 + 3 → 138).

Történeti és gyakorlati alkalmazások

Korábban az oktális számrendszert széles körben használták a számítógépekkel való munkában, mert a korai gépek szóhosszai (például 12, 24 bitek) gyakran oszthatók voltak 3-mal, így az oktális kényelmesen csoportosította a bináris biteket. Azonban ahogy a számítógépek szóhossza átállt 32 és 64 bitre, a 4 bites csoportokra illeszkedő hexadecimális rendszer gyakran váltotta fel az oktálist a gyakorlatban.

Napjainkban az oktális még mindig előfordul néhány speciális területen:

  • Unix-szerű rendszerek fájlhozzáférési jogosultságainak megadása (például a 0755 formátum), ahol a három számjegy felhasználói, csoport- és egyéb jogosultsági biteket jelöl (7 = rwx, 6 = rw-, 5 = r-x, 4 = r--).
  • Régebbi számítógépek és beágyazott rendszerek dokumentációiban, illetve bizonyos assembly-környezetekben előfordulhat.
  • Programozási nyelvek: például a C nyelvben a vezető nulla előtti literálok (pl. 0755) oktálist jelentenek — ezre gyakran okozhat hibát, ha a fejlesztő nem számol ezzel.

Nyelvi és kulturális előfordulások

Néhány embercsoportnál természetes módon alakult ki az oktális számlálás. Például egyes kaliforniai yuki nyelvet beszélő amerikai őslakosok és bizonyos mexikói pamean nyelvek beszélői is oktális alapú számlálást használnak. Ennek oka, hogy számoláskor nem annyira az ujjak magukat, hanem az ujjaik közötti szóközöket számolják, ami természetes módon nyolc elemet eredményez egy kézen (négy szóköz kézenként), így összesen nyolc „egység” adódik.

Előnyök és korlátok

Előnyök:

  • Közvetlen kapcsolat a binárissal (3 bit ⇄ 1 oktális számjegy).
  • Könnyebb olvashatóság a hosszú bináris sorokhoz képest bizonyos szóhosszoknál (pl. 12, 24 bit).

Korlátok:

  • Nincs olyan jól igazítható a szélesebb körben használt 8, 16, 32 bites architektúrákhoz, mint a hexadecimális (4 bites) formátum.
  • Programozói hibák forrása lehet (pl. vezető nulla jelölése C-ben).

Összefoglalás

Az oktális (nyolcas) számrendszer egyszerű, jól definiált alternatívája a tizedes és bináris rendszereknek, különösen hasznos volt és néhány területen még ma is hasznos a számítástechnikában és a kultúrák bizonyos hagyományaiban. Az oktális ismerete különösen hasznos, ha bináris adatok csoportosítása vagy régi rendszerek megértése a cél.