Hexadecimaal Stelsel
In CSS schrijf je kleuren als #FF5733. Die zes tekens zijn drie koppels hexadecimale cijfers — elk koppel stelt één kleurkanaal voor (rood, groen, blauw).
#FF5733RGB:
rgb(255, 87, 51)| Kanaal | Hex | Decimaal |
|---|---|---|
| Rood | FF | 255 |
| Groen | 57 | 87 |
| Blauw | 33 | 51 |
Één hexadecimaal cijfer staat voor 4 bits, twee cijfers samen voor 8 bits (1 byte). Een kleurkanaal loopt van 00₁₆ (0) tot FF₁₆ (255) — en past precies in één byte. Dat maakt hexadecimaal ideaal: compact en direct leesbaar.
De 16 symbolen
Hexadecimaal heeft 16 symbolen: de cijfers 0 t.e.m. 9, aangevuld met de letters A t.e.m. F.
| Decimaal | Hex | Binair |
|---|---|---|
| 0 | 0 | 0000 |
| 1 | 1 | 0001 |
| 2 | 2 | 0010 |
| 3 | 3 | 0011 |
| 4 | 4 | 0100 |
| 5 | 5 | 0101 |
| 6 | 6 | 0110 |
| 7 | 7 | 0111 |
| 8 | 8 | 1000 |
| 9 | 9 | 1001 |
| 10 | A | 1010 |
| 11 | B | 1011 |
| 12 | C | 1100 |
| 13 | D | 1101 |
| 14 | E | 1110 |
| 15 | F | 1111 |
De sleutel: elke groep van 4 bits komt exact overeen met één hex-cijfer. Omzetten tussen binair en hex is daardoor razendsnel, zonder te rekenen.
Waarom hex overal opduikt
Hexadecimaal vind je overal in de informatica, telkens waar binaire data compact weergegeven moet worden:
- CSS-kleuren:
#FF5733 - MAC-adressen:
00:1A:2B:3C:4D:5E - Geheugenadressen:
0x7FFC3B2A - Foutcodes:
0x80070005
Structuur: posities als machten van 16
Elke positie heeft een waarde als macht van 16:
| Positie | ||||
|---|---|---|---|---|
| Waarde | 4096 | 256 | 16 | 1 |
Een hexadecimaal getal lezen
Voorbeeld: Wat is de decimale waarde van ?
| Cijfer | 2 | F | 3 |
|---|---|---|---|
| Positie | |||
| Waarde | 2 × 256 = 512 | 15 × 16 = 240 | 3 × 1 = 3 |
Notatie in code
In de meeste programmeertalen schrijf je hexadecimale getallen met het prefix 0x:
// JavaScript
const rood = 0xFF; // 255
console.log(0xFF); // 255
console.log((255).toString(16)); // "ff"
console.log(parseInt("FF", 16)); // 255
// C#
int rood = 0xFF; // 255
Console.WriteLine(0xFF); // 255
Console.WriteLine(255.ToString("X")); // "FF"
Console.WriteLine(Convert.ToInt32("FF", 16)); // 255