Waar komt het hexidecimale stelsel vandaan?

Dus het tellen van 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f

Weet jij het antwoord?

/2500

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''

Bronnen:
http://nl.wikipedia.org/wiki/Hexadecimale

Het Hexadecimale stelsel is bedacht om overzichtelijk in Bytes te kunnen rekenen. Een byte is 8 bits breed en kun je eenvoudig met twee hexadecimale cijfers aanduiden. Een byte kan dus alle waarden tussen 00 en FF bevatten. Het rekenen in andere talstelsels is een ontwikkeling geweest om bepaalde zaken eenvoudiger voor te stellen. In een n-tallig stelsel wordt n altijd als 10 geschreven, in het binaire stelsel 2 = 10, in het octale stelsel 8 = 10, in het hexadecimale stelsel 16 = 10.

Zoals hier boven al is gezegd is het hexadecimale stelsel gebaseerd op het grondtal 16, net zoals het decimale stelsel is gebaseerd op het grondtal 10. Een getal als bijv. 23 in het decimale stelsel is 17h. Let op het kleine h-tje achter het getal om aan te geven dat dit getal een hexadecimaal getal is. Over het getal 123 denken we niet eens meer na, maar elk cijfer heeft een waarde afhankelijk van zijn positie. Zo is het cijfer 1 hier niet 1 maar 1*100 waard, de 2 hier niet 2 maar 2*10 en de 3 is 3*1 waard. Opgeteld levert dit, o wonder, weer 123. Toegevoegd na 5 minuten: Waarom moeten we nu vermenigvuldigen met deze getallen? Dat is vanwege het grondtal. Gerekend van rechts naar links en van 0 naar zo groot je maar wil, moet je het linkse cijfer dus vermenigvuldigen met 10 tot de macht 2 of 10^2, en dat is 100, het volgende cijfer met 10^1 en dat is 10 en het laatste met 10^0 en dat is 1 en zo voort. Dus 512 is 5*100 plus 1*10 plus 2*1 en dat is 512. Dit is in het hex-stelsel precies hetzelfde, maar de 10 vervangen door 16. Hebben we nu 123h dan wordt dit 1*16^2 + 2*16^1 + 3*16^0 en dat is 1*256 + 2*16 + 3*1 = 291 decimaal. Omdat we niet genoeg cijfers hebben, is men vanaf 9 verder gaan tellen met A, B, C, D, E en F. Niet tot G (16) want decimaal tellen we ook niet verder dan 9. Ook het binaire stelsel werkt zo, d.w.z. met 2 als grondtal. Bijv. 6 is 110b (binair): 1*2^2 + 1*2^1 + 0*2^0 is 4 + 2 + 0 = 6. Het binaire stelsel wordt in computers gebruikt en elk cijfer daar heet een bit. Een getal van 8 bits wordt een byte genoemd, bijv. 01101111b, maar dit is een omslachtige manier van schrijven. Grotere getallen heten words, met bijvoorbeeld 16 bits, nog omslachtiger! Als je nu kijkt naar de byte dan kun maximaal van 0 tot 255 in het decimale stelsel tellen (probeer maar). Dit zijn 256 mogelijkheden. Maar dit getal, 256, hadden we al eerder gezien, namelijk 16^2 = 256. Delen we de byte nu op in groepen van 4 bits, dan wordt het misschien wat duidelijker: 0110 en 1111. Omgerekend is dit 6 en 15. In het hexadecimale stelsel 6h en Fh, maar 01101111b is ook 6Fh! Hier zie je hoe makkelijk je van binair naar hexadecimaal gaat. Splits de byte of het getal van rechts gezien in groepjes van 4 bits en zet deze om naar hun hexadecimale tegenhanger en het getal is veel korter op te schrijven. Dit doe je uit het hoofd, je hoeft niet te rekenen! Omzetten naar decimaal lukt je bijna zeker niet uit het hoofd. Hier komt het hexadecimale stelsel dus vandaan.

Stel zelf een vraag

Ben je op zoek naar het antwoord die ene vraag die je misschien al tijden achtervolgt?

/100