Det oktale talsystem er et talsystem i base 8. Det bruger cifrene 0 til 7 og hver position repræsenterer en potens af 8 (f.eks. 8^0, 8^1, 8^2 osv.). Oktaltal svarer tæt til både binært (base 2) og hexadecimalt (base 16), fordi der findes en entydig måde at konvertere via grupper af binære bit. Oktaltal kan angives på flere måder: nogle skriver dem med bogstavet o foran tallet, f.eks. o04 eller o1242, andre bruger en lille 8 som indeks, som i 12428, og i programmeringssprog ses også forskellige konventioner (fx førende 0 i C, eller 0o-prefix i Python).

Notation og eksempler

Hvert oktalcifres værdi er 0–7. For at konvertere et decimalt tal til oktal dividerer man gentagne gange med 8 og noterer resterne fra sidste til første division.

  • Eksempel: 10010 til oktal:
    • 100 / 8 = 12 rest 4
    • 12 / 8 = 1 rest 4
    • 1 / 8 = 0 rest 1
    Resultatet er 1448 (fordi 1·8^2 + 4·8^1 + 4·8^0 = 64 + 32 + 4 = 100).
  • Eksempel: 8310 = 1238 (1·64 + 2·8 + 3 = 83).

Sammenhæng med binært og hexadecimalt

Den mest praktiske egenskab ved oktal i forbindelse med computere er forbindelsen til binær repræsentation: ét oktalcifres rækkevidde (0–7) svarer præcis til tre binære bit (000–111). Derfor kan man konvertere mellem binært og oktalt ved at gruppere de binære cifre i grupper af tre, startende fra højre.

Eksempel: binært 1010011 kan grupperes som 001 010 011, som svarer til oktal 1 2 3 → 1238. For at gå mellem oktal og hexadecimalt går man ofte via binært som mellemtrin (hexadeci­malt bruger grupper af 4 bit).

Historisk og moderne brug i computere

Oktalsystemet var udbredt i tidlige computer- og minicomputer-miljøer, fordi flere ældre maskinarkitekturer havde ordlængder, der passede godt til grupper af 3 bit (f.eks. 12-, 24-bit systemer). Det gjorde det nemmere for teknikere og programmører at aflæse og skrive binære mønstre i en kompakt, menneskevenlig form. Da computere senere gik over til 32- og 64-bit-arkitekturer, blev hexadecimalt (base 16) oftere foretrukket, fordi 16 passer bedre til grupper af 4 bit.

Alligevel findes oktal stadig i visse sammenhænge i dag:

  • Unix/Linux-filrettigheder angives ofte i oktal (fx chmod 755).
  • Nogle ældre assemblere, dokumentation og specialiserede værktøjer bruger stadig oktal.

Notationskonventioner i programmering

Der findes flere konventioner for at markere oktaltal:

  • Førende 0: I mange ældre sprog (fx C) betyder et tal, der starter med 0, at det er oktalt (fx 0755).
  • 0o-prefix: Moderne sprog som Python bruger 0o eller 0O (fx 0o755) for at gøre det eksplicit.
  • Subskript eller suffix: Nogle faglige tekster bruger 12428 eller et suffix som o, men disse varierende konventioner bør undgå tvetydighed i kode.

Fordele og ulemper

  • Fordele: Komprimerer binære data effektivt ved at kortlægge tre bit til ét cifre; nemmere end rent binært at aflæse for mennesker i systemer hvor bits naturligt grupperes i tre.
  • Ulemper: Mindre kompakt end hex for moderne 8-, 16-, 32-, 64-bit ordlængder, og derfor mindre praktisk i de fleste moderne udviklingsmiljøer.

Oktalsystemet i sprog og kultur

Udover teknisk brug forekommer oktalsystemet også i nogle menneskelige talsystemer. Visse grupper, f.eks. indianere, der bruger Yuki-sproget i Californien og Pamean-sprogene i Mexico, anvender et oktalt talsystem. En forklaring er, at de, når de tæller, bruger mellemrummene mellem fingrene i stedet for at tælle de egentlige fingre, hvilket naturligt giver otte tælleenheder.

Opsummering: Oktalsystemet (base 8) er et enkelt og praktisk talsystem med tæt forbindelse til binær repræsentation. Det har historisk betydning i computervidenskab og findes stadig i nogle tekniske og kulturelle anvendelser, selvom hexadecimalt nu er mere udbredt i moderne computerbrug.