Heksaarvusüsteem (tuntud ka inglise keeles kui hexadecimal või lühidalt hex) on 16 sümbolist koosnev numbrisüsteem (baas 16). Standardset numbrisüsteemi nimetatakse kümnendsüsteemiks (baas 10), kus kasutatakse sümboleid 0–9. Heksaarvusüsteemis kasutatakse kümnendsüsteemi numbreid 0–9 ning kuut lisasümbolit A, B, C, D, E ja F, mis tähistavad väärtusi 10–15 vastavalt (A = 10, F = 15). Kokkuvõttes võimaldavad 16 sümbolit esindada väärtusi 0 kuni 15 ühe koha kohta.

Miks arvutimaailmas kasutatakse heksaararve?

Inimesed kasutavad igapäevaselt kümnendsüsteemi — see on intuitiivne, tõenäoliselt seoses kümne sõrmega. Arvutid töötavad aga binaarkujul (süsteem 2), kus iga alus on kas sisse või välja (0 või 1). Binaararve on seega nullide ja üksuste jada, näiteks 11011011. Pikaid binaare esitada otse on ebamugav, seetõttu rühmitatakse bitte.

Varasemalt rühmitati bitte sageli kolmeks (selle tulemusena tekkis kaheksakohaline ehk oktal süsteem), sest 3 bitti annab 8 võimalikku kombinatsiooni (0–7). Hiljem osutus mugavamaks rühmitada 4 bitti korraga — 4 bitti annab 16 kombinatsiooni, mis viib heksaararvudeni. Neli bitti moodustavad arvutijargoonis nibble'i (mõnikord kirjutatakse nybble) ja üks nibble vastab ühele heksaarkohale. Kaks nibble'i moodustavad baidi (8 bitti), mida kasutatakse paljudes arvutioperatsioonides. Heksaararvud muudavad suured binaarsed numbrid lühemaks ja loetavamaks.

Kirjutusviisid ja tähistused

Heksaariivide eristamiseks teiste süsteemide arvudest kasutatakse mitmeid konventsioone:

  • eelistatud C-keele ja paljude programmeerimiskeelte süntaks: 0x eesliide (näide: 0x63);
  • mõnes assembleris ja dokumentatsioonis kasutatakse järelhäälikut h (näide: 63h);
  • veebi- ja CSS-värvikoodides kasutatakse risti või märki # (näide: #FF0000 punase jaoks), kus RRGGBB on kolme värikanali heksaararvud.

Kuidas teisendada heksaararv kümnend- ja binaarsüsteemi — näited

Heksaararvu teisendamisel kümnendiks korrutatakse iga koht vastava positsiooni baasvõimuga (16^0, 16^1, 16^2 ...). Näide:

0x3E7 = 3×16^2 + E×16^1 + 7×16^0 = 3×256 + 14×16 + 7 = 768 + 224 + 7 = 999 (kümnendsüsteemis).

Binaari teisendamiseks saab iga heksakohale vastava 4 bitti eraldi kirjutada:

  • 0x63 → 6 = 0110 ja 3 = 0011 → binaaris 0110 0011 (mis on 99 kümnendsüsteemis);
  • 0xFF → FF = 1111 1111 (kümnendsüsteemis 255, 8-bitise maksimaalse väärtuse näide).

Kus heksaararve kasutatakse?

Heksaararvud on laialt kasutusel arvutite ja elektroonika valdkonnas, näiteks:

  • mälu‑ ja aadressimise kuvamine (mälu aadressid tavaliselt heksakujul);
  • värvikoodid veebidisainis (CSS: #RRGGBB);
  • MAC-aadressid ja paljud võrguprotokollid (paarides olevad heksapaarid);
  • madala taseme programmeerimine ja debuggimine (näiteks tähistused registriväärtuste ja maskide puhul);
  • failiformaadid ja binaarandmete esitus lugemisväärsel kujul.

Nõuanded ja kokkuvõte

Heksaar on mugav viis esitada binaarset informatsiooni lühemalt ja loetavamalt — 4 bitti → 1 hex. Kui õpite heksaariga töötama, harjuge:

  • mäletama A–F vastavaid väärtusi 10–15;
  • teadma peamisi notatsioone (0x, h, #) ja konteksti, kus neid kasutatakse;
  • õppima lihtsaid teisenduse reegleid (4-bitiline rühm binaarist → üks hex; positsioonikorrutused kümnendiks).