Wat is HEX code? (0x00 t/m 0xFF hexadecimaal)

Hexadecimaal betekent letterlijk 16-tallig. Het is een talstelsel waarbij niet, zoals gebruikelijk, met tien cijfers wordt gewerkt, maar met zestien cijfers. De cijfers 0 t/m 9 worden daarom uitgebreid met ‘A’ (=10) t/m F (=15), ook wel ‘a’ t/m ‘f’. In deze context zijn dat dus ook cijfers, geen letters. De reden dat men dit doet in de computerwereld, is dat deze manier van representeren van getallen beter aansluit op de manier waarop computerapparatuur werkt.

Het woord ‘hexadecimaal’ wordt vaak afgekort als HEX.

Codering
Een hexadecimaal cijfer is een snelle en overzichtelijke manier om vier binaire cijfers te schrijven. Eigenlijk zou men de binaire computergegevens met enen en nullen moeten schrijven, dus bijvoorbeeld: 0100100001100001011011000110110001101111 (“Hallo”).
Dat is voor mensen onleesbaar, en daarom worden de cijfers in groepjes van een “nibbles” gegroepeerd (per 4 bits). Ieder viertal wordt vervolgens in een hexadecimaal cijfer omgezet, dit is veel overzichtelijker.

HEX in programmertalen
Om duidelijk te maken dat men een hexadecimale waarde bedoelt, worden vaak enkele tekens toegevoegd. Bovendien geldt in haast elke programmeertaal de eis dat een waarde met een ‘echt’ cijfer begint (dus niet met A-F). Het hexadecimale getal 35 kan geschreven worden als ’35x’ of ’35h’, en in een programmeertaal als ‘0x35′. Zou men in een programmeertaal ’35’ schrijven, dan wordt dat decimaal opgevat.

HEX codetabel
hex_getallen

 

Voorbeeld

Ok, laten we een woord omzetten naar bitjes (1’tjes en 0’etjes), dat kan eenvoudig via deze site.

1) We nemen het woord “Hallo”, dit geeft: “0100100001100001011011000110110001101111”

2) Gepresenteerd als “nibbles” van 4-bits: 0100-1000-0110-0001-0110-1100-0110-1100-0110-1111

3) We gaan nu de “nibbles” omzetten met de tabel hierboven:
0100-1000 = 0x48
0110-0001 = 0x61
0110-1100 = 0x6C
0110-1100 = 0x6C
0110-1111 = 0x6F

4) Dat zijn de HEX codes, hieronder heb ik een bestand aangemaakt met als inhoud “Hallo”, je kan dan eenvoudig met een HEX editor, de HEX codes zien:

hex_getallen_hallo