Rekenen met hexadecimale getallen
Voor veel mensen is rekenen niet een van de meest favoriete bezigheden. Op school hebben we allemaal geleerd om te rekenen met het decimale stelsel ofwel met de cijfers nul tot en met negen. Naast het decimale stelsel bestaan er meerdere getallenstelsels bijvoorbeeld het binaire stelsel, octale stelsel en het hexadecimale stelsel. Het hexadecimale stelsel is een getallenstelsel dat bestaat uit zestien cijfers. Dit houdt niet in dat men met de cijfers één tot en met zestien rekent, maar ook met letters. Hoe dit in zijn werk gaat zal hieronder worden uitgelegd.
Inhoud
Verschillende getallenstelsels
Er bestaan in de wiskunde verschillende getallenstelsels om getallen op te stellen. Zo onderscheid men de volgende stelsels:
- Binair: een tweetallig stelsel dat bestaat uit de twee cijfers, nul en één
- Octaal: een achttallig stelsel
- Novenair: een negentallig stelsel
- Decimaal: het tientallig stelsel waar iedereen heeft mee leren rekenen
- Duodecimaal: een twaalftallig stelsel
- Hexadecimaal: een zestientallig stelsel
- Vigesimaal: een twintigtallig stelsel
- Sexagesimaal: een zestigtallig stelsel
Het hexadecimale stelsel
Zoals hierboven beschreven bestaat het hexadecimale stelsel uit zestien cijfers. We gebruiken hiervoor de cijfers 0 t/m 9 en de letters A t/m F. De letters vertegenwoordigen de volgende waarde: A=10, B=11, C=12, D=13, E=14, F=15. De letters A t/m F moet men dus niet beschouwen als letters maar als cijfers met een vaste waarde. Dus de 'cijfers' van het hexadecimale stelsel zijn 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E en F.
Het grondtal
Het grondtal van het decimale stelsel is 10. De positie van een cijfer in een getal geeft dus een macht van 10 aan. Het cijfer 2675 kan men eigenlijk zien als 2 × 10
3, 6 × 10
2 , 7 × 10
1 en 5 × 10
0 ofwel 2 × 1000, 6 × 100, 7 × 10 en 5 × 0 Het grondgetal van het hexadecimale stelsel is 16 dus de positie van een hexadecimaal teken in een getal geeft de macht van 16 weer. Zoals we kunnen zien bij het omrekenen van hexadecimaal naar decimaal.
Omrekenen van hexadecimaal naar decimaal
Wil men dus een hexadecimaal getal omzetten naar een decimaal getal dan moet men letten op de positie van het hexadecimale teken (zie het grondtal).
Voorbeeld 1
Het hexadecimale getal 3A8 kan men uitzetten als: 3 × 16
2 + A × 16
1 + 8 × 16
0 = 3 × 256 + 10 × 16 + 8 × 1= 768 + 160 + 8 = 936. Het hexadecimale getal 3A8 is dun 936 in het decimale stelsel.
Voorbeeld 2
Het hexadecimale getal 24E kan men uitschrijven als 2 × 16
2 + 4 × 16
1 + 14 × 16
0 = 2 × 256 + 4 × 16 + 14 × 1 = 512 + 64 + 14= 590. Het hexadecimale getal 24E is dus 590 in het decimale stelsel.
Omrekenen van decimaal naar hexadecimaal
Wil men een decimaal getal omzetten naar een hexadecimaal getal dan moet men het decimale getal delen door 16.
Voorbeeld 1
Het decimale getal 75 wordt: 72 ÷ 16 = 4 plus een rest van 5. Dus wordt 72 decimaal, 45 in het hexadecimale stelsel.
Voorbeeld 2
Het decimale getal 46 wordt: 46 ÷ 16 = 2 plus een rest van 14. Dus wordt 46 decimaal, 2E in het hexadecimale stelsel.
Rekenen met het hexadecimale stelsel
Voor het rekenen met hexadecimale getallen zijn er twee verschillende mogelijkheden. De eerste methode is om direct met de hexadecimale getallen te rekenen. De tweede methode is dat men eerst de hexadecimale getallen omzet naar decimale getallen om daarmee de som uit te rekenen en vervolgens het antwoord weer om te zetten naar het hexadecimale stelsel. Deze laatste methode kan men natuurlijk ook gebruiken als een controlemiddel.
Optellen met hexadecimale getallen
Optellen met hexadecimale getallen werkt hetzelfde als met decimale getallen.
Tel 4C4 en 45A op
4C4
45A
------ +
91E
Net als bij een decimale optelsom werken we van rechts naar links. Tussen de () staan de decimale noteringen, 4 + A = E (A = 10 dus wordt 4 + 10 = 14 (E = 14)) E opschrijven
C + 5 = 11 (C = 12 dus wordt 12 + 5 = 17. In hexadecimaal wordt 17 genoteerd als 11) 1 onthouden en 1 opschrijven.
4 + 4 = 8 plus de 1 die we moesten onthouden maakt 9. Uitkomst van 4C4 + 45A = 91E
Voor controle kunnen we de hexadecimale getallen omrekenen naar decimale getallen.
4C4 hexadecimaal is 4 × 256 + 12 × 16 + 4 = 1220 decimaal.
45A hexadecimaal is 4 × 256 + 5 × 16 + 10 = 1114 decimaal. De som 1220 + 1114 = 2334
91E hexadecimaal is 9 × 256 + 1 × 16 + 14 = 2334 decimaal.
Aftrekken met hexadecimale getallen
Bij het aftrekken van hexadecimale getallen gelden ook weer dezelfde regels die we vroeger op school geleerd hebben voor het decimale stelsel. Heel simpel is natuurlijk E - 8 = 6 (E staat voor 14). Krijgen we met grotere getallen te maken dan kunnen we deze beter weer onder elkaar plaatsen.
3A8
24E
----- -
15A
Weer van rechts naar links, 8 - E (E is 14) dat gaat niet lukken dus moeten we wat bij de buurman van 8 lenen, dat is A (A = 10).
Aangezien het grondtal 16 is krijgt de 8 er 16 bij en dit wordt dus 24. Dus 24 - E (E=14) wordt A (A = 10). We schrijven de A op. De A uit de tweede rij is er een kwijt dus deze verandert in een 9. Dus 9 - 4 = 5 we schrijven de 5 op. In de derde rij staat 3 - 2 = 1 we schrijven de 1 op. Het antwoord is dus 15A.
Voor controle kunnen we de hexadecimale getallen omrekenen naar decimale getallen.
3A8 hexadecimaal is 3 × 256 + 10 × 16 + 8 × 1 = 768 + 160 + 8 = 936 decimaal.
24E hexadecimaal is 2 × 256 + 4 × 16 + 14 × 1 = 512 + 64 + 14 = 590 decimaal. De som 936 - 590 = 346
15A hexadecimaal is 1 × 256 + 5 × 16 + 10 × 1 = 256 + 80 + 10 = 346 decimaal.
Vermenigvuldigen met hexadecimale getallen
Willen we kunnen vermenigvuldigen met hexadecimale getallen dan zullen we wel de tafels van het hexadecimale stelsel moeten kennen. Zie bijvoorbeeld de
ASCII Code tabel.
Vermenigvuldig 3A × C4 = ?
Op de lijst uit de link kunnen we benodigde producten van de cijferparen opzoeken. Dit zijn:
- 3 × C = 24 (3 × C (C=12) is 36)
- 3 × 4 = C
- A × C = 78
- A × 4 = 28
Hiermee kunnen we nu de som als volgt uitrekenen:
003A
00C4
--------- ×
0028
00C0
0780
2400
--------- +
2C68
Ter controle kunnen we de som ook weer naar het decimale stelsel omzetten.
3A = 3 × 16
1 + 10 × 16
0 ofwel 3 × 16 + 10 = 58.
C4 = 12 × 16
1 + 4 × 16
0 ofwel 12 × 16 + 4 = 196. De som 58 × 196 = 11368
2C68 = 2 × 16
3 + 12 × 16
2 + 6 × 16
1 + 8 × 16
0 ofwel 2 × 4096 + 12 × 256 + 6 × 16 + 8 = 11368
Delen met hexadecimale getallen
Tot slot zullen we een deling maken met het hexadecimale stelsel. Natuurlijk gelden ook hier weer de normale rekenregels.
Deel 35A door B = 4E. De B in het hexadecimale stelsel vertegenwoordigt 11 in het decimale stelsel.
35A ÷ B = 4E
2C (4 maal B = 2C)
----
9A
9A (E maal B = 9A)
----
0
Ter controle kunnen we de som ook weer naar het decimale stelsel omzetten.
35A = 3 × 16
2 + 5 × 16
1 + 10 × 16
0 ofwel 3 × 256 + 5 × 16 + 10 = 858
B hexadecimaal staat voor 11 decimaal.
4E = 4 × 16
1 + 14 × 16
0 ofwel 4 × 16 + 14 = 78
858 ÷ 11 = 78