Het hexadecimale cijfersysteem, vaak afgekort tot "kalab", is een cijfersysteem dat bestaat uit 16 symbolen (basis 16). Het standaardcijfersysteem heet decimaal (basis 10) en gebruikt tien symbolen: 0,1,2,3,4,5,6,7,8,9. Hexadecimaal gebruikt de decimale getallen en zes extra symbolen. Er zijn geen numerieke symbolen die waarden groter dan negen weergeven, dus worden er letters uit het Engelse alfabet gebruikt, met name A, B, C, D, E en F. Hexadecimaal A = decimaal 10, en hexadecimaal F = decimaal 15.
Mensen gebruiken meestal het decimale systeem. Dit komt waarschijnlijk omdat mensen tien vingers aan hun handen hebben. Computers hebben echter alleen aan en uit, een binair cijfer (of bit, kortweg: bit). Een binair getal is slechts een reeks nullen en enen: 11011011, bijvoorbeeld. Voor het gemak hebben technici die met computers werken de neiging om bits te groeperen. Vroeger, zoals in de jaren zestig, groepeerden ze 3 bits tegelijk (net zoals grote decimale getallen gegroepeerd zijn in drieën, zoals het getal 123.456.789). Drie bits, die elk aan of uit staan, kunnen de acht getallen van 0 tot 7 voorstellen: 000 = 0; 001 = 1; 010 = 2; 011 = 3; 100 = 4; 101 = 5; 110 = 6 en 111 = 7. Dit wordt octaal genoemd.
Omdat computers groter werden, was het handiger om bits te groeperen met vier in plaats van drie. Dit verdubbelt de getallen die het symbool zou voorstellen; het kan 16 waarden hebben in plaats van 8. Hex = 6 en Decimaal = 10, dus het wordt hexadecimaal genoemd. In computerjargon maken vier bits een hapje (soms gespeld). Een hapje is één hexadecimaal getal, geschreven met een symbool 0-9 of A-F. Twee hapjes maken een byte (8 bits). De meeste computerbewerkingen gebruiken de byte, of een veelvoud van de byte (16 bits, 24, 32, 64, etc.). Hexadecimaal maakt het makkelijker om deze grote binaire getallen te schrijven.
Om verwarring met decimale, octale of andere nummeringssystemen te voorkomen, worden soms hexadecimale getallen met een "h" na of "0x" voor het getal geschreven. Bijvoorbeeld, 63h en 0x63 betekenen 63 hexadecimaal.