Wat zijn de verschillen tussen binair, decimaal en hexadecimaal?
Jij en ik zijn opgegroeid van een tot tien. Computers tellen echter een beetje anders. Ze gebruiken een ander getalsysteem, binair genoemd, om gegevens bij te houden. Maar wat betekent dat en wat heeft het voor zin?
Hoe tellen we?
Alle belangrijke nummerstelsels ter wereld zijn "positioneel". Dit betekent dat de waarde van een getal wordt bepaald door de plaats in het nummer dat wordt weergegeven. We noemen dit de "plaats" -waarde, en het helpt de grootte van een getal te bepalen. Het decimale systeem waar we allemaal bekend mee zijn, gebruikt bijvoorbeeld tientallen, honderden en duizenden plaatsen om aan te geven hoeveel een enkele "2" waard is. Als "2" op de honderdste plaats staat (zoals in "200"), is de waarde hoger dan dezelfde 2 op de plaats (zoals in "2").
Maar het was niet altijd zo. Deze manier om waarde te vertegenwoordigen is een ietwat moderne uitvinding. Het vereist het gebruik van nul als tijdelijke aanduiding, en nul werd pas ongeveer 4000 jaar geleden uitgevonden. Dat is de reden waarom oudere nummersystemen zoals Romeinse cijfers en Egyptische hiërogliefen geen plaats gebruiken. In plaats daarvan telt u de waarde van alle "cijfers" bij elkaar om tot de definitieve waarde te komen.
Met dit basisconcept van positiewaarde hebben we verschillende cijfersystemen of schrijfwijzen gecreëerd. Cijferstelsels worden genoemd naar het aantal verhogingen per plaats. Wanneer we incrementen zeggen, bedoelen we hoe vaak u de waarde van één plaats kunt verhogen voordat u die waarde naar de volgende plaats 'draagt'. In base-ten kunnen we bijvoorbeeld die plaatsen negen keer verhogen, met tien verschillende cijfers (nul tellen), voordat we de waarde ervan naar de plaats moeten dragen.
Verschil tussen decimaal, binair en hexadecimaal
Als kind werd je geleerd om op je vingers te rekenen. Tien vingers, tien cijfers. Om hoger dan tien te tellen, kun je één vinger ingedrukt houden terwijl je op de andere tikt. Dit is de basis van het basistaal- of decimaalnummersysteem. Het is het getallensysteem dat je elke dag gebruikt, en het is de basis van de meeste mensen die de numerieke wereld begrijpen.
Computers kunnen echter geen base-ten gebruiken. De hardware die nodig is om een base-ten-waarde op hardwareniveau weer te geven, zou enorm complex zijn. In plaats daarvan tellen computers met binaire of base-twee. In binair zijn er slechts twee nummers: één en nul. Elke "plaats" heeft ook verschillende waarden. De laagste plaats is die, dan tweeën, vieren, achten, zestien en zo verder. De waarde van elke plaats is tweemaal de waarde van de vorige plaats. Om het decimale equivalent van een binair getal te evalueren, vermenigvuldigt u elk getal met de waarde van de plaats en voegt u alle resultaten samen toe. Dit is eigenlijk hetzelfde als wat je doet als je een base-ten nummer evalueert, maar je doet het zo snel dat je het proces over het hoofd ziet.
Hexadecimaal is anders dan binair en decimaal. Het maakt gebruik van base-zestien, wat betekent dat er zestien verschillende cijfers zijn die op één plaats kunnen verschijnen. Omdat we slechts tien cijfers hebben in onze gedeelde taal, gebruiken we de eerste zes Latijnse letters (A, B, C, D, E, F) om de cijfers 10 tot en met 15 aan te geven. U herkent dit formaat mogelijk aan de kleurcodes die worden gebruikt in webontwerp . Wanneer het wordt gebruikt in computergebruik, wordt het vaak voorafgegaan door 0x
om aan te geven dat de volgende reeks moet worden geïnterpreteerd als een hexadecimaal getal. Elke plaatswaarde is zestien keer groter dan de waarde van de vorige plaats, beginnend met de plek.
Conclusie: Waarom verschillende cijfersystemen gebruiken?
Het zou zeker handig zijn als we één cijfersysteem voor alles zouden kunnen gebruiken. Helaas heeft elk cijfersysteem zijn eigen doel, dus we zitten vast met meer dan één systeem.
Decimaal is het meest bekend voor menselijke operatoren en wordt door bijna elke cultuur op aarde gedeeld. Dat maakt het tot het standaardtelschema voor menselijke communicatie. Geen verrassing daar.
Computers kunnen echter niet in decimalen tellen. Hun circuits kunnen slechts een van twee toestanden weergeven: AAN of UIT. Dat maakt ze een natuurlijke fit voor binary, die twee toestanden heeft: één en nul. Nul staat natuurlijk voor, terwijl eentje voor staat.
Hexadecimaal is meer een edge-case. Het wordt voornamelijk gebruikt als een handige manier om binaire waarden voor menselijke operators weer te geven. Een enkele plaatswaarde in hexadecimaal vertegenwoordigt vier bits geheugen. Dat betekent dat twee plaatsen acht bits of één byte vertegenwoordigen. Daarom wordt hexadecimaal gebruikt om de waarde van geheugenregisters weer te geven. De bit-dimensionering maakt het een natuurlijke fit en het is gemakkelijker te lezen dan een reeks van enen en nullen.