Aštuonetainė skaičių sistema yra 8 pagrindo skaičių sistema. Joje naudojami skaitmenys nuo 0 iki 7. Ši sistema panaši į dvejetainę (bazė 2) ir šešioliktainę (bazė 16). Aštuonetiniai skaitmenys rašomi prieš skaitmenį naudojant raidę o, pavyzdžiui, o04 arba o1242. Aštuonženkliai skaičiai taip pat kartais rašomi su mažąja 8 apatinėje dešinėje pusėje, pavyzdžiui, 12428.
Vienu metu aštuonetainė sistema buvo naudojama daugiausia darbui su kompiuteriais. Ji palengvino darbą su dvejetainiais skaičiais. Kompiuteriams perėjus nuo 24 bitų sistemų prie 32 ir 64 bitų sistemų, šešioliktainė sistema daugeliu atvejų pakeitė aštuonetainę. Kai kurios grupės, pavyzdžiui, Kalifornijoje gyvenantys Amerikos indėnai, vartojantys juki kalbą, ir Meksikoje gyvenantys pamean kalbas, taip pat naudoja aštuntainę skaičiavimo sistemą. Jie taip daro todėl, kad skaičiuodami naudoja tarpus tarp pirštų, užuot skaičiavę tikruosius pirštus.
Apibrėžimas ir pagrindinės savybės
Aštuonetainė (oktalinė) sistema naudoja aštuonis skaitmenis: 0, 1, 2, 3, 4, 5, 6, 7. Kiekviena pozicija išreiškia skaitmens reikšmę, padaugintą iš atitinkamos 8 pakopos: pvz., skaičius 3458 reiškia 3·8² + 4·8¹ + 5·8⁰ = 229 dešimtainėje sistemoje.
Svarbi savybė: vienam aštuonetinio skaitmens lygiuoja trys dvejetainio (binario) bitai. Dėl to tiesiogiai konvertuoti tarp dvejetainės ir aštuonetainės sistemos yra patogu: grupuojant dvejetainius bitus po tris (iš dešinės į kairę) gaunami atitinkami aštuonetainiai skaitmenys.
Rašymas ir notacijos
- Tradiciškai aštuonetainiai skaičiai gali būti pažymimi kaip 12428 arba prieš skaičių rašant raidę o (pavyzdžiui, o1242).
- Daugelyje programavimo kalbų istoriniu būdu literaliai užrašyti skaičiai su pradiniu nuliniu simboliu (pvz., 075) reiškė aštuonetainį literaliai (C kalbos ir pan.). Modernios kalbos dažnai naudoja aiškesnes priesagas: 0o755 arba 0O755 (pvz., Python 3, ES6 JavaScript) reiškia aštuonetainį 755.
Konversijos pavyzdžiai
1) Iš dešimtainės į aštuonetainę (dalijant iš 8 ir užrašant liekanas nuo galo):
Pavyzdys: 156 (dešimtainė) → 156 ÷ 8 = 19 likutis 4; 19 ÷ 8 = 2 likutis 3; 2 ÷ 8 = 0 likutis 2. Taigi 15610 = 2348.
2) Iš dvejetainės į aštuonetainę (grupuojant po 3 bitus):
Pavyzdys: dvejetainis 1100100 → grupuojame iš dešinės: 1 100 100 → papildome nuliais kairėje: 001 100 100. Kiekviena trijulė verčiama į aštuonetainį skaitmenį: 001 = 1, 100 = 4, 100 = 4. Todėl 11001002 = 1448 (ir atitinkamai 10010).
3) Iš aštuonetainės į dešimtainę (sudauginant pozicijas iš 8 pakopų):
Pavyzdys: 3458 = 3·8² + 4·8¹ + 5·8⁰ = 3·64 + 4·8 + 5·1 = 192 + 32 + 5 = 22910.
Aritmetika aštuonetainėje sistemoje
Aritmetika atliekama pagal įprastas vietines taisykles, tik su bazine 8 vietoje 10. Pvz., sudėjus 278 + 158:
7 + 5 = 14 (dešimtainė) → 1410 = 168 → rašome 6 ir pernešame 1; 2 + 1 + pernešta 1 = 4. Rezultatas 448.
Atimtys, daugyba ir dalyba vyksta analogiškai, bet pernešimai ir likučiai sprendžiami pagal 8, ne 10.
Kompiuterių panaudojimas ir praktinės srities pavyzdžiai
- Aštuonetainė sistema istoriniu laikotarpiu buvo plačiai naudojama kai kuriuose kompiuteriuose (pvz., sistemos su žodžių ilgiais, dalinamais iš 3 bitų grupių). Ji leido sutrumpinti dvejetainius išrašus, grupuojant bitus po 3.
- Šiandien aštuonetainė vis dar matoma kai kuriose srityse: operacinių sistemų leidimų (file permissions) žymėjimas UNIX/Linux (pvz., 755, 644) dažnai interpretuojamas kaip aštuonetainis; tam tikros žemos lygio diagnostikos ar Į/E priemonės gali rodyti reikšmes aštuonetainiu formatu.
- Programavimo kalbose reikšmės gali būti nurodomos su priedėliais (pvz., 0o755), nors šešioliktainė dabar dažnai yra patogesnė grupuojant po 4 bitus (tinka 32/64 bitų architektūroms).
Privalumai ir trūkumai
- Privalumai: tiesioginė konversija į dvejetainę (3 bitai = 1 aštuonetainis skaitmuo), aiškesnis vaizdas nei ilgi dvejetainiai eilutės; patogiau rankiniams bitų skaitymams tam tikrose architektūrose.
- Trūkumai: daugelis šiuolaikinių architektūrų yra pagrįstos 8 arba 16 bitų pakopomis, todėl šešioliktainis (4 bitai) dažnai yra praktiškesnis; mažesnis simbolių rinkinių diapazonas nei šešioliktainėje, todėl ilgesnė žymėjimo eilutė tam pačiam bitų kiekiui.
Istorija ir kultūrinis kontekstas
Be kompiuterių istorijos, aštuonetainė sistema natūraliai pasitaiko ir kai kuriose kultūrinėse tradicijose, kaip minėta aukščiau: grupės, kurios skaičiuoja pirštų tarpelius (t. y. ertmes tarp pirštų), gali natūraliai naudoti aštuntainę sistemą, nes tokiu būdu susidaro aštuoni vienetai per ranką. Tai pabrėžia, kad skaitmeninės sistemos evoliucionuoja ne tik technologiškai, bet ir kultūriškai.
Pastabos apie žymėjimą ir praktiką
Žymint skaičius svarbu nurodyti, kurią sistemą naudojate (ypač dokumentacijoje ar programuose). Naudojant subskriptus (8, 10, 2) ar aiškias priesagas (0o, 0x) sumažinama klaidų rizika. Taip pat verta prisiminti, kad aštuonetainė sistema yra tik viena iš daugialypių pozicinių skaičiavimo sistemų — pasirinkimas priklauso nuo patogumo tam tikram darbui.