Oktālā skaitīšanas sistēma (bāze 8) ir skaitļu sistēma, kuras bāze ir 8. Tajā izmanto ciparus no 0 līdz 7; katra pozīcija skaitā nozīmē attiecīgo ciparu reizinājumu ar 8 pakāpēm (piem., 8⁰, 8¹, 8² utt.). Šī sistēma ir līdzīga binārajai (bāze 2) un heksadecimālajai (bāze 16) sistēmai, jo tās visas ir pozicionālās. Astoņciparu (oktālā) skaitļus raksta dažādos veidos — bieži izmanto prefiksu o, piemēram, o04 vai o1242, kā arī bieži sastopama pieraksta forma ar apakšā labo indeksu: 12428.
Kā darbojas oktālā sistēma — piemēri un pārrēķins
Katrs oktālā cipara svars ir 8^n, kur n ir pozīcijas indekss no labās puses (sākot ar 0). Piemērs: 12428 aprēķina desmitnieksistēmā kā
- 1·8³ + 2·8² + 4·8¹ + 2·8⁰ = 512 + 128 + 32 + 2 = 674 (desmitnieksistēmā).
Apgrieztais pārrēķins (no desmitnieka uz oktālo) notiek, dalot skaitli ar 8 un pierakstot atlikumus no beigām uz sākumu. Piemēram, 674₁₀ → 674÷8=84 (atl.2), 84÷8=10 (atl.4), 10÷8=1 (atl.2), 1÷8=0 (atl.1) → 12428.
Savienojums ar bināro sistēmu
Tā kā 8 = 2³, oktālos viegli pārvērst bināros: katru oktāla ciparu var aizstāt ar trim binārajiem biti (piem., 1 → 001, 2 → 010, 4 → 100, 2 → 010), tādējādi 12428 atbilst bināram 001010100010 (parasti vadošos nulles izmet). Tas padara oktālo ērtu darbā ar trim bitu grupām.
Vēsture un datortehniskie pielietojumi
Savulaik oktālā sistēma bija plaši izmantota datortehnikā, jo agrīnie datori un mikroprocesori bieži izmantoja vārdu garumus, kuri labi sadalījās trīs bitu grupās (piem., 12, 24 vai 36 biti). Dažas vēsturiskas arhitektūras, piemēram, dažas minimālās un vidēja lieluma mašīnas (piem., DEC datoru līnijas), piekopa oktālo pierakstu, jo tas atviegloja bināro datu skatīšanu un manipulāciju.
Ar laiku, kad datorsistēmas pārgāja uz 8, 16, 32 un 64 bitu baitu bāzēm, ērtāks kļuva heksadecimālais formāts (bāze 16) — viena heksadecimālā cipara atbilst 4 bitiem, un divi heksa cipari ērti attēlo vienu baitu. Tāpēc daudzos mūsdienu lietojumos heksadecimālais pieraksts aizstāja oktālo. Tomēr oktāla sistēma joprojām parādās:
- Unix/Linux failu atļauju pierakstā (piem., komanda chmod 755 izmanto oktālu, lai apzīmētu rwx atļaujas),
- programmēšanas valodu speciālos literālos pierakstos (piem., C/C++ agrīnajos formātos raksturošanas veidos: '\07' apzīmē burtu ar oktālo vērtību 7),
- vecākos rīkos un diagnožu izvadēs, kur tiek lietotas 3 bitu grupas skaidrākai binārajiem datiem interpretācijai.
Kultūrvēsturiskais un cilvēku skaitīšanas pielietojums
Oktāla sistēma nav tikai tehnisks artefakts — to izmanto dažas cilts un valodu kopienas. Piemēram, dažas Amerikas pamatiedzīvotāju grupas un pameņu valodas Meksikā izmanto astoņciparu skaitīšanas metodes. Šādas sistēmas var rasties no ķermeņa skaitīšanas paradumiem: ja skaita, izmantojot atstarpes starp pirkstiem (nevis pa pirkstiem), loģiski rodas bāze 8, jo katrā rokā ir četras atstarpes starp pieciem pirkstiem, kopā astoņas vietas.
Priekšrocības un trūkumi
- Priekšrocības: labi saskan ar bināro, ja datu struktūras tiek grupētas pa 3 biti; vienkāršāka bināro grupu vizualizācija attiecīgajos gadījumos.
- Trūkumi: mūsdienu procesoru un atmiņas vienību (baits = 8 biti) dēļ heksadecimālā sistēma biežāk sniedz ērtu atbilstību (4 bitu grupas), tāpēc oktālā sistēma ir mazāk piemērota mūsdienu 8, 16, 32, 64 bitu arhitektūrām.
Kā praktiski rakstīt un lasīt oktālos skaitļus
- Pieļaujamas prefiksa formas: o1242 vai literālais 12428. Dažās programmēšanas vidēs tiek izmantots arī prefikss 0 (npr. 0755 C valodā agrīnās versijās), tomēr tas var radīt neskaidrību, tāpēc mūsdienās biežāk lieto skaidru 8 norādi.
- Konvertējot no binārā uz oktālo, grupē bitus pa trim no labās uz kreiso pusi; no desmitnieka uz oktālo — dalīšanas ar 8 metode (izdalot atlikumus).
Apkopojot: oktālā sistēma ir pozicionāla bāze 8, ar vēsturisku un praktisku nozīmi gan datortehnikā, gan dažās kultūrvēsturiskajās skaitīšanas praksēs. Lai gan mūsdienu datortehnikā bieži dod priekšroku heksadecimālajai bāzei, oktālā joprojām parādās konkrētos kontekstos, kur 3 bitu grupu struktūra ir ērtāka vai tradicionāla.