Osmerični (osmični) številski sistem je številski sistem z osnovo 8, ki uporablja samo cifre od 0 do 7. Gre za pozicijski sistem: vsaka cifra predstavlja vrednost cifre pomnoženo z ustrezno potenco osnove 8 (npr. 8^0, 8^1, 8^2 …). Sistem je soroden dvojiškemu (osnova 2) in šestnajstiškemu (osnova 16) sistemu. Osmerične vrednosti se v zapisu pogosto označijo na več načinov: z majhno osmico v spodnjem desnem kotu, npr. 12428, z oznako baze v oklepaju, npr. (1242)8, ali pa z nekoč pogostim predznakom, npr. s črko o pred številom, kot o04 ali o1242. V računalniškem programiranju so še druge konvencije (npr. v C je včasih vodilna ničla označevala osmični zapis: 0755), v nekaterih jezikih pa se uporablja npr. 0o-prefiks.

Osnovna pravila in primeri

V osmeričnem sistemu ima vsaka cifra mesto z utežjo 8^k. Na primer:

12428 = 1·8^3 + 2·8^2 + 4·8^1 + 2·8^0 = 1·512 + 2·64 + 4·8 + 2·1 = 512 + 128 + 32 + 2 = 674 (v desetiškem sistemu).

Osmerične števke lahko enostavno pretvorimo v dvojiški zapis z razbijanjem vsake osmerične cifre na skupine po 3 bite (ker 8 = 2^3). Primer:

  • 1 → 001
  • 2 → 010
  • 4 → 100
  • 2 → 010

Torej 12428 = 001 010 100 010 (dvojiško), kar po odstranitvi vodilnih ničel ustreza 1010100010₂, kar je enako 674₁₀.

Praktična uporaba in zgodovina

Osmerični sistem so včasih široko uporabljali pri delu z računalniki, saj se dvojiški podatki lahko enostavno združujejo v trojice bitov. Pri strojni arhitekturi, kjer so bile besede dolge npr. 12, 24 ali 36 bitov, je bil osmerični zapis praktičen (vsaka osmerična cifra predstavlja tri bite). Z razmahom 8-, 16-, 32- in 64-bitnih arhitektur je zaradi enostavnejšega preslikavanja v skupine po 4 bite (nibble) prevladal šestnajstiški zapis, ki je kompaktnejši in bolj pregleden.

Klasični primer sodobne uporabe osmeričnega sistema je zapis pravic datotek v Unixu (npr. 755), kjer vsaka od treh osmeričnih številk označuje sklop pravic (branje/pisanje/izvedba) za lastnika, skupino in druge: 7 = 111₂ (rwx), 5 = 101₂ (r-x) itd.

Uporaba v naravnih jezikih

Osmerični način štetja se pojavlja tudi v nekaterih jezikih in kulturah. Na primer nekatere skupine, kot so ameriški domorodci, ki uporabljajo jezik Yuki v Kaliforniji, in jeziki Pamean v Mehiki, uporabljajo osmerični sistem štetja. To je pogosto povezano z načinom štetja, kjer prištevanje ne poteka po posameznih prstih v naboru, temveč se upoštevajo presledki med prsti, kar vodi do naravnega grupiranja po osmih.

Računske operacije in lastnosti

Operacije v osmeričnem sistemu (seštevanje, odštevanje, množenje, deljenje) sledijo enakim pravilom kot v drugih pozicijskih sistemih, le da se prenos (carry) sproži pri prehodu meje 8 (npr. 7 + 1 = 108). Množenje z 8 pomeni pomik cifr v levo za eno mesto (podobno kot množenje z 10 v desetiškem sistemu).

Kdaj uporabiti osmerični sistem

Osmerični sistem je še vedno uporaben tam, kjer so podatki naravno razporejeni v trojice bitov ali ko delamo z zgodnjo računalniško opremo in zapisi, ki so bili zasnovani z mislijo na 12-, 24- ali 36-bitne besede. Za sodobne aplikacije, kjer so običajne velikosti po 8 ali 16 bitov, pogosto raje uporabimo šestnajstiški zapis zaradi enostavnejših preslikav v nible in kompaktnejšega zapisa.

Za hitro povzetek: osmerični sistem = osnova 8, cifre od 0 do 7, enostavna pretvorba v dvojiški zapis po skupinah po 3 bite, zgodovinska in specifična uporaba v računalništvu ter prisotnost tudi v nekaterih naravnih jezikih in kulturah.