Het hexadecimale nummer systeem, ook wel genoemd base-16 of soms gewoon hex , is een getallensysteem dat 16 unieke symbolen gebruikt om een bepaalde waarde te vertegenwoordigen. Die symbolen zijn 0-9 en A-F.
Het getallensysteem dat we in het dagelijks leven gebruiken, wordt het decimale of base-10 systeem, en gebruikt de 10 symbolen van 0 tot 9 om een waarde te vertegenwoordigen.
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 die STOP-codes worden genoemd, die worden weergegeven op een Blue Screen of Death, hebben altijd de hexadecimale notatie.
Programmeurs gebruiken hexadecimale getallen omdat hun waarden korter zijn dan ze zouden zijn als ze in decimalen worden weergegeven, en veel korter dan in binair, dat alleen 0 en 1 gebruikt.
Bijvoorbeeld de hexadecimale waarde F4240 is gelijk aan 1,000,000 in decimaal en 1111 0100 0010 0100 0000 in binair.
Een andere plaats die hexadecimaal wordt gebruikt, is als HTML kleurcode om een specifieke kleur uit te drukken. Een webontwerper zou bijvoorbeeld de hexwaarde FF0000 gebruiken om de kleur rood te definiëren. Dit is opgesplitst als FF, 00,00, die het aantal rode, groene en blauwe kleuren definieert dat moet 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 die in hexadecimale indeling kunnen worden uitgedrukt, veel ruimte te besparen versus ze uit te drukken in een ander formaat zoals decimaal.
Ja, binair is op sommige manieren veel eenvoudiger, maar het is ook veel eenvoudiger voor ons om hexadecimale waarden te lezen dan binaire waarden.
Hoe te tellen in hexadecimaal
Tellen in hexadecimaal formaat is eenvoudig, zolang je je maar herinnert dat er 16 tekens zijn waaruit elke reeks getallen bestaat.
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 set van 10 getallen opnieuw wordt gestart (dat wil zeggen het getal 10).
In hexadecimaal formaat tellen we echter zo, inclusief alle 16 nummers:
0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F, 10,11,12,13 … nogmaals, het toevoegen van een 1 voor het begin van de 16 nummer opnieuw ingesteld.
Hier zijn een paar voorbeelden van enkele lastige hexadecimale "overgangen" die u mogelijk handig vindt:
… 17, 18, 19, 1A, 1B …
… 1E, 1F, 20, 21, 22 …
… FD, FE, FF, 100, 101, 102 …
Hex-waarden handmatig converteren
Het toevoegen van hexadecimale waarden is heel eenvoudig en gebeurt in feite op een vergelijkbare manier als het tellen van getallen in het decimale systeem.
Een normaal wiskundeprobleem zoals 14 + 12 kan normaal worden gedaan zonder iets op te schrijven. De meesten van ons kunnen dat in onze hoofden doen - het is 26. Hier is een handige manier om ernaar te kijken:
14 wordt onderverdeeld in 10 en 4 (10 + 4 = 14), terwijl 12 wordt vereenvoudigd als 10 en 2 (10 + 2 = 12). Bij elkaar opgeteld is 10, 4, 10 en 2 gelijk aan 26.
Wanneer er drie cijfers worden ingevoerd, zoals 123, weten we dat we naar alle drie plaatsen moeten kijken om te begrijpen wat ze werkelijk betekenen.
De 3 staat op zichzelf, want het is het laatste nummer. Neem de eerste twee weg en 3 is nog steeds 3. De 2 wordt vermenigvuldigd met 10 omdat het het tweede cijfer van het nummer is, net als bij het eerste voorbeeld. Nogmaals, neem de 1 weg van deze 123, en je blijft achter met 23, dat is 20 + 3. Het derde getal van rechts (de 1) is keer 10, tweemaal (keer 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 101)+ (N X 100)
of…
…(N X 10 X 10) + (N X 10) + N
Sluit elk cijfer op de juiste plaats in de formule van boven af om van 123 de waarde 100 in te voeren (1 X 10 X 10) + 20 (2 X 10) + 3of 100 + 20 + 3, wat 123 is.
Hetzelfde is waar als het aantal duizenden is, bijvoorbeeld 1,234. De 1 is echt 1 X 10 X 10 X 10, waarmee hij op de plaats van de duizendste staat, 2 in de honderdsten, enzovoort.
Hexadecimaal wordt op exact dezelfde manier gedaan, maar gebruikt 16 in plaats van 10 omdat het een base-16-systeem is in plaats van base-10:
…(N X 163) + (N X 162) + (N X 161)+ (N X 160)
Stel dat we het probleem 2F7 + C2C hebben en we willen de decimale waarde van het antwoord weten. U moet de hexadecimale cijfers eerst converteren naar decimaal en dan gewoon de getallen optellen zoals u zou doen met de twee bovenstaande voorbeelden.
Zoals we al hebben uitgelegd, zijn nul tot negen in zowel het decimaalteken als het hexadecimaal exact hetzelfde, terwijl de cijfers 10 tot en met 15 worden weergegeven als de letters A tot F.
Het eerste getal uiterst rechts van de hexadecimale waarde 2F7 staat op zichzelf, zoals in het decimale stelsel, dat uitkomt op 7. Het volgende getal links daarvan moet worden vermenigvuldigd met 16, net als het tweede getal uit de 123 (de 2) hierboven moest vermenigvuldigd worden met 10 (2 X 10) om het getal 20 te maken. Uiteindelijk moet het derde getal van rechts vermenigvuldigd worden met 16, tweemaal (wat 256 is), zoals een decimaal getal moet worden vermenigvuldigd met 10, tweemaal (of 100), wanneer het uit drie cijfers bestaat.
Daarom, het opbreken van de 2F7 in ons probleem maakt 512 (2 X 16 X 16) + 240 (F 15 X 16) + 7, die tot 759 komt. Zoals u kunt zien, is F 15 vanwege zijn positie in de hexadecimale sequentie (zie Hoe te tellen in hexadecimaal hierboven) - het is het allerlaatste nummer van de mogelijke 16.
C2C is omgezet naar een decimaal zoals dit: 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 meetelt.
Dit betekent dat 2F7 + C2C echt 759 + 3,116 is, wat gelijk is aan 3.875.
Hoewel het leuk is om dit handmatig te doen, is het natuurlijk veel gemakkelijker om met hexadecimale waarden te werken met een rekenmachine of converter.
Hex-converters en rekenmachines
Een hexadecimale converter is handig als u hex naar decimaal of decimaal naar hex wilt vertalen, maar dit niet handmatig wilt doen. Als u bijvoorbeeld de hex-waarde 7FF in een conversieprogramma invoert, wordt meteen aangegeven dat de equivalente decimale waarde 2,047 is.
Er zijn veel online hex-conversieprogramma's die heel eenvoudig te gebruiken zijn, BinaryHex Converter, SubnetOnline.com en RapidTables zijn er slechts een paar. Deze sites laten je niet alleen hex naar decimaal (en vice versa) converteren, maar ook hex naar en van binair, octaal, ASCII en anderen.
Hexadecimale rekenmachines kunnen net zo handig zijn als een decimale systeemcalculator, maar voor gebruik met hexadecimale waarden. 7FF plus 7FF is bijvoorbeeld FFE.
De hex-calculator van Math Warehouse ondersteunt het combineren van getalsystemen. Een voorbeeld is het samen toevoegen van een hexadecimale en binaire waarde en het bekijken van het resultaat in decimale notatie. Het ondersteunt ook octaal.
EasyCalculation.com is een nog eenvoudigere calculator om te gebruiken. Het zal de twee hexadecimale waarden die u eraan geeft, aftrekken, delen, optellen en vermenigvuldigen, en onmiddellijk alle antwoorden op dezelfde pagina tonen. 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 decimale (10). Binair is base-2, octaal is base-8 en decimaal is natuurlijk base-10.
Hexadecimale waarden worden soms geschreven met het voorvoegsel "0x" (0x2F7) of met een subscript (2F716), maar de waarde wordt niet gewijzigd. In beide voorbeelden kunt u het voorvoegsel of subscript behouden of laten vervallen en blijft de decimale waarde 759.