Het hexadecimale getalsysteem, ook wel grondtal-16 of soms gewoon hex genoemd, is een getalsysteem dat 16 unieke symbolen gebruikt om een bepaalde waarde weer te geven. Die symbolen zijn 0-9 en A-F.
Het getallenstelsel dat we in het dagelijks leven gebruiken, wordt het decimaal-, of grondtal-10-systeem genoemd, en gebruikt de 10 symbolen van 0 tot en met 9 om een waarde weer te geven.
Waar en waarom wordt hexadecimaal gebruikt?
De meeste foutcodes en andere waarden die in een computer worden gebruikt, worden weergegeven in het hexadecimale formaat. Foutcodes, STOP-codes genaamd, die worden weergegeven op een Blue Screen of Death, zijn bijvoorbeeld altijd in hexadecimale indeling.
Programmeurs gebruiken hexadecimale getallen omdat hun waarden korter zijn dan ze zouden zijn als ze in decimaal zouden worden weergegeven, en veel korter dan in binaire getallen, die alleen 0 en 1 gebruiken.
De hexadecimale waarde F4240 is bijvoorbeeld gelijk aan 1, 000, 000 in decimaal en 1111 0100 0010 0100 0000 in binair.
Een andere plaats waar hexadecimaal wordt gebruikt, is als HTML-kleurcode om een specifieke kleur uit te drukken. Een webdesigner zou bijvoorbeeld de hexadecimale waarde FF0000 gebruiken om de kleur rood te definiëren. Dit wordt uitgesplitst als FF, 00, 00, dat de hoeveelheid rode, groene en blauwe kleuren definieert die moeten worden gebruikt (RRGGBB); 255 rood, 0 groen en 0 blauw in dit voorbeeld.
Het feit dat hexadecimale waarden tot 255 kunnen worden uitgedrukt in twee cijfers en HTML-kleurcodes drie sets van twee cijfers gebruiken, betekent dat er meer dan 16 miljoen (255 x 255 x 255) mogelijke kleuren zijn uitgedrukt in hexadecimaal formaat, waardoor veel ruimte wordt bespaard in plaats van ze in een ander formaat uit te drukken, zoals decimaal.
Ja, binair is in sommige opzichten veel eenvoudiger, maar het is ook gewoon veel gemakkelijker voor ons om hexadecimale waarden te lezen dan binaire waarden.
Hoe te tellen in hexadecimaal
Tellen in hexadecimaal formaat is gemakkelijk, zolang je onthoudt dat er 16 tekens zijn die deel uitmaken van elke reeks getallen.
In decimaal formaat weten we allemaal dat we als volgt tellen:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, … door een 1 toe te voegen voordat de reeks van 10 opnieuw wordt begonnen (d.w.z. de nummer 10).
In hexadecimaal formaat tellen we echter als volgt, inclusief alle 16 getallen:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, 10, 11, 12, 13… nogmaals, voeg een 1 toe voordat u het 16-nummer opnieuw begint.
Hier zijn een paar voorbeelden van enkele lastige hexadecimale "overgangen" die u misschien nuttig vindt:
…17, 18, 19, 1A, 1B…
…1E, 1F, 20, 21, 22……FD, FE, FF, 100, 101, 102…
Hoe hexadecimale waarden handmatig te converteren
Het toevoegen van hexadecimale waarden is heel eenvoudig en gebeurt eigenlijk op een vergelijkbare manier als het tellen van getallen in het decimale stelsel.
Een normaal wiskundig probleem zoals 14+12 kan normaal gesproken worden gedaan zonder iets op te schrijven. De meesten van ons kunnen dat in ons hoofd - het is 26. Hier is een handige manier om ernaar te kijken:
14 is onderverdeeld in 10 en 4 (10+4=14), terwijl 12 wordt vereenvoudigd als 10 en 2 (10+2=12). Bij elkaar opgeteld zijn 10, 4, 10 en 2 gelijk aan 26.
Wanneer drie cijfers worden geïntroduceerd, zoals 123, weten we dat we naar alle drie de plaatsen moeten kijken om te begrijpen wat ze echt betekenen.
De 3 staat op zichzelf omdat het het laatste nummer is. Haal de eerste twee weg, en 3 is nog steeds 3. De 2 wordt vermenigvuldigd met 10 omdat het het tweede cijfer in het getal is, net als bij het eerste voorbeeld. Nogmaals, haal de 1 weg van deze 123, en je houdt 23 over, wat 20+3 is. Het derde getal van rechts (de 1) wordt keer 10 genomen, tweemaal (maal 100). Dit betekent dat 123 verandert in 100+20+3, of 123.
Hier zijn twee andere manieren om ernaar te kijken:
…(N X 102) + (N X 10 1)+ (N X 100)
of…
…(N X 10 X 10) + (N X 10) + N
Plaats elk cijfer op de juiste plaats in de bovenstaande formule om 123 om te zetten in: 100 (1 X 10 X 10) + 20 (2 X 10) + 3, of 100 + 20 + 3, dat is 123.
Hetzelfde geldt als het aantal in de duizenden is, zoals 1,234. De 1 is in werkelijkheid 1 X 10 X 10 X 10, waardoor het op de duizendste plaats komt, 2 op de honderdsten, enzovoort.
Hexadecimaal wordt op exact dezelfde manier gedaan, maar gebruikt 16 in plaats van 10 omdat het een systeem met basis 16 is in plaats van basis-10:
…(N X 163) + (N X 16 2) + (N X 161)+ (N X 160)
Stel bijvoorbeeld dat we het probleem 2F7+C2C hebben, en dat we de decimale waarde van het antwoord willen weten. U moet eerst de hexadecimale cijfers naar decimaal converteren en vervolgens de getallen gewoon bij elkaar optellen zoals u zou doen met de twee bovenstaande voorbeelden.
Zoals we al hebben uitgelegd, zijn nul tot en met negen in zowel decimaal als hex exact hetzelfde, terwijl de cijfers 10 tot en met 15 worden weergegeven als de letters A tot en met F.
Het eerste getal helemaal rechts van de hexadecimale waarde 2F7 staat op zichzelf, zoals in het decimale stelsel, en komt uit op 7. Het volgende getal links ervan moet worden vermenigvuldigd met 16, net zoals de het tweede getal van de 123 (de 2) hierboven moest worden vermenigvuldigd met 10 (2 X 10) om het getal 20 te maken. Ten slotte moet het derde getal van rechts worden vermenigvuldigd met 16, tweemaal (wat 256) is, zoals een op decimalen gebaseerd getal moet worden vermenigvuldigd met 10, tweemaal (of 100), wanneer het drie cijfers heeft.
Daarom levert het opsplitsen van de 2F7 in ons probleem 512 (2 X 16 X 16) + 240 (F [15] X 16) + 7, wat neerkomt op 759. Zoals je kunt zien, is F 15 vanwege zijn positie in de hexadecimale reeks (zie Hoe te tellen in hexadecimaal hierboven) - het is het allerlaatste getal van de mogelijke 16.
C2C wordt als volgt naar decimaal geconverteerd: 3, 072 (C [12] X 16 X 16) + 32 (2 X 16) + C [12]=3, 116
Nogmaals, C is gelijk aan 12 omdat het de 12e waarde is als je vanaf nul telt.
Dit betekent dat 2F7+C2C in werkelijkheid 759+3116 is, wat gelijk is aan 3.875.
Hoewel het leuk is om te weten hoe je dit handmatig kunt doen, is het natuurlijk veel gemakkelijker om met hexadecimale waarden te werken met een rekenmachine of converter.
Hex-omzetters en rekenmachines
Een hexadecimale converter is handig als u hex naar decimaal wilt vertalen, of decimaal naar hex, maar dit niet handmatig wilt doen. Als u bijvoorbeeld de hexadecimale waarde 7FF in een converter invoert, weet u onmiddellijk dat de equivalente decimale waarde 2.047 is.
Er zijn veel online hex-converters die heel eenvoudig te gebruiken zijn, BinaryHex Converter, SubnetOnline.com, RapidTables en JP Tools zijn er slechts een paar. Op sommige van deze sites kun je niet alleen hex naar decimaal converteren (en vice versa), maar ook hex converteren van en naar binair, octaal, ASCII en andere.
Hexadecimale rekenmachines kunnen net zo handig zijn als rekenmachines voor decimalen, maar dan voor gebruik met hexadecimale waarden. 7FF plus 7FF is bijvoorbeeld FFE.
De hexadecimale rekenmachine van Math Warehouse ondersteunt het combineren van getalsystemen. Een voorbeeld is het bij elkaar optellen van een hexadecimale en binaire waarde en vervolgens het resultaat in decimaal formaat bekijken. Het ondersteunt ook octaal.
EasyCalculation.com is een nog eenvoudigere rekenmachine om te gebruiken. Het zal elke twee hexadecimale waarden die u eraan geeft aftrekken, delen, optellen en vermenigvuldigen en onmiddellijk alle antwoorden op dezelfde pagina weergeven. Het toont ook de decimale equivalenten naast de hexadecimale antwoorden.
Meer informatie over hexadecimaal
Het woord hexadecimaal is een combinatie van hexa (betekenis 6) en decimaal (10). Binair is grondtal-2, octaal is grondtal-8 en decimaal is natuurlijk grondtal-10.
Hexadecimale waarden worden soms geschreven met het voorvoegsel 0x (0x2F7) of met een subscript (2F716), maar dat doet het niet t verander de waarde. In beide voorbeelden kunt u het voorvoegsel of het subscript behouden of laten vallen en de decimale waarde blijft 759.
FAQ
Is hexadecimaal een programmeertaal?
Hexadecimale code is technisch gezien een programmeertaal op laag niveau, omdat programmeurs het gebruiken om binaire code te vertalen. De processor kan de hexadecimale code niet echt begrijpen. Het is gewoon een afkorting voor programmeurs.
Wie heeft de hexadecimale notatie uitgevonden?
De Zweeds-Amerikaanse ingenieur John Williams Nystrom ontwikkelde het hexadecimale notatiesysteem in 1859. Ook bekend als het tonale systeem, had het oorspronkelijke voorstel van Nystrom toepassingen op verschillende gebieden, waaronder wiskunde en metrologie.
Wat is een Steam-hex?
Als je de Steam-gamingservice gebruikt, is je Steam-hex hetzelfde als je Steam-ID, dat hexadecimaal wordt weergegeven.