Hexadecimaal
| Getalsystemen |
|---|
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.
Inhoud |
[bewerken] 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 11000101011000100101110101110010. Dat is voor mensen onleesbaar, en daarom worden de cijfers in groepjes van 4 (nibbles) gegroepeerd. Dat wordt dan 1100-0101-0110-0010-0101-1101-0111-0010. Ieder viertal wordt vervolgens in een hexadecimaal cijfer omgezet: C5625D72. Dit is veel overzichtelijker.
[bewerken] Programmeertalen
| hex | dec | oct | bin |
|---|---|---|---|
| 00 | 0 | 000 | 0000 0000 |
| 01 | 1 | 001 | 0000 0001 |
| 02 | 2 | 002 | 0000 0010 |
| 03 | 3 | 003 | 0000 0011 |
| 04 | 4 | 004 | 0000 0100 |
| 05 | 5 | 005 | 0000 0101 |
| 06 | 6 | 006 | 0000 0110 |
| 07 | 7 | 007 | 0000 0111 |
| 08 | 8 | 010 | 0000 1000 |
| 09 | 9 | 011 | 0000 1001 |
| 0A | 10 | 012 | 0000 1010 |
| 0B | 11 | 013 | 0000 1011 |
| 0C | 12 | 014 | 0000 1100 |
| 0D | 13 | 015 | 0000 1101 |
| 0E | 14 | 016 | 0000 1110 |
| 0F | 15 | 017 | 0000 1111 |
| 10 | 16 | 020 | 0001 0000 |
| 11 | 17 | 021 | 0001 0001 |
| 64 | 100 | 144 | 0110 0100 |
| FF | 255 | 377 | 1111 1111 |
| 100 | 256 | 400 | 1 0000 0000 |
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.
Enkele voorbeelden:
- ABCDh (begint met een letter, niet mogelijk in veel programmeertalen)
- 0ABCDh (door een nul toe te voegen wordt dat probleem verholpen)
- 0xABCD
- $ABCD
- x'ABCD'
[bewerken] Toepassing van het hexadecimale stelsel
Het hexadecimale stelsel wordt vrijwel alleen gebruikt door degenen die op laag niveau met computers werken. Dit is een gevolg van de binaire (tweetallige) werking van de computer en de opbouw en werking van de geheugens in de computer. Door de toepassing van hogere programmeertalen is kennis van het hexadecimale stelsel meestal geen directe noodzaak meer.
Het hexadecimale stelsel wordt onder andere gebruikt voor:
-
- het aanduiden van kleuren in HTML als RGB-waarde. Zo is FFFFFF de waarde voor wit, en 000000 de waarde voor zwart.
- 1e byte FF 00 00 is R is Rood. (#FF0000)
- 2e byte 00 FF 00 is G is Groen. (#00FF00)
- 3e byte 00 00 FF is B is Blauw. (#0000FF)
- het weergeven van een MAC-adres zoals 00:0C:6E:D2:11:E6
- het weergeven van een IP-adres (IPv6).
- het bekijken van binaire bestanden (in hex-editors)
- het aanduiden van kleuren in HTML als RGB-waarde. Zo is FFFFFF de waarde voor wit, en 000000 de waarde voor zwart.
[bewerken] Notatie van binaire en hexadecimale getallen
Omdat men bij een binaire notatie de status van iedere bit duidelijk wil maken, worden binaire getallen getoond in een formaat met voorloopnullen. Bij hexadecimale notaties zijn voorloopnullen ook heel gebruikelijk. Het gaat hier dan om een code die minder duidelijk zou worden indien er geen nullen aan vooraf gaan. Een voorbeeld hiervan is de RGB-waarde.
[bewerken] Zie ook
- Binair (2-tallig stelsel)
- Octaal (8-tallig stelsel)
- Decimaal (10-tallig stelsel)
- Duodecimaal (12-tallig stelsel)
- Sexagesimaal (60-tallig stelsel)