Tizenhatos számrendszer

A Wikipédiából, a szabad lexikonból.

A tizenhatos (hexadecimális) számrendszer a 16-os számon alapuló számrendszer, az informatika kulcsfontosságú számrendszere (zsargonszó: hex). A tizenhatos számrendszer a 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 számjegyeken kívül az A, B, C, D, E, F betűket (vagy ezeknek kisbetűs megfelelőjét; mindkét használat megengedett) használja.

A 0–9 számjegyek használata értelemszerű (azaz: a tízes számrendszernek megfelelő), az A számjegy 10-et, a B számjegy 11-et, a C számjegy 12-t, a D számjegy 13-at, az E számjegy 14-et és az F számjegy 15–öt jelöl (ez összesen 16 számjegy, hiszen a nulla az első).

Az eltérő számrendszer használatára általában a szám után írt alsó indexes H betű utal, pl.: C9H. A tizenhatos számrendszerben leírt szám számjegyei tulajdonképpen a tizenhatos szám 0-val kezdődő és számjegyenként eggyel növekvő exponensei a szám legkisebb helyértékű számjegyeitől haladva a legnagyobb helyértékűekig (azaz jobbról balra). Pl. 3F8H a tízes számrendszerben 1016 (= 3×162 + 15×161 + 8×160).

A tizenhatos számrendszer gyakran használatos a számítógépek körüli tudományágakban, mivel e számrendszer alapja, a 16-os szám, egyenlő 24-el, ami azt jelenti, hogy egy hexadacimális szám éppen négy bájtot (1 nibblet) képvisel. Így tehát egy bájt értéke kifejezhető éppen két hexadecimális számmal (a 00H – FFH intervallumban).

A hexadecimális kifejezés a görög nyelv έξι (hexi) szavából (jelentése: „hat“) és latin nyelv decem (jelentése: tíz) szavaiból származik.

[szerkesztés] A hexadecimális szám felírási módjai

Mivel az egyes programozási nyelvekben gyakran fordulnak elő hexadecimális számok és mivel a programozási nyelvek sokrétűek és fejlődésük hektikus, ezért a hexadecimális számok felírása is különböző:

  • az Ada és VHDL programozási nyelvek a számot egy "numerikus idézőjelbe" ("#" karakter) teszi "#" (pl. "20#5A3#"),
  • a C programozási nyelv és a rajta alapuló nyelvek (pl. a Java programozási nyelv) a "0x" prefixet használja (pl. "0x5A3"). A "0" azt jelenti a fordítóprogram számára, hogy számról van szó, az "x" pedig azt, hogy hexadecimális számról,
  • a HTML nyelvben szintén az "x" karakter használatos, pl. a decimális "&#1443" hexadecimális megfelelője az "&#x5a3",
  • Pascal-ban és néhány Assembly-ben a szám mögé egy "h" betűt írunk; ha a szám betűkarakterrel kezdődne, akkor elé még egy nullát is, példák: "0A3Ch", "5A3h",
  • a többi Assembly-ben (AT&T, Motorola) és néhány Basic nyelvjárásban, a Turbo Pascal-ban, és a Delphiben a "$" prefix használotos (pl. "$5A3"),
  • a többi Basic-ben a "&h" karakterek használatosak ("&h5A3"),

Megjegyzés: a fenti példákban az idézőjel csak a jobb érthetőség miatt szerepel, valójában nem használatos.

[szerkesztés] Átszámolási táblázat

Mivel a programozói gyakorlatban gyakran van szükség a 0–255 tartományban lévő számok átszámolására a tízes és a tizenhatos számrendszerek közt, ezért ennek megkönnyítésére egy átszámolási táblázatot közlünk: Kép:Dec hex konverzio.png

[szerkesztés] Lásd még