Hexadecimale notatie van de Easy Way op uw Raspberry Pi

Iedere programmeur en hardware ontwerper maakt gebruik van hexadecimale notatie om een ​​eenvoudige reden: Het is makkelijk, veel gemakkelijker dan het alternatief. Het enige probleem is dat er een zeer kleine leercurve, zo klein, in feite, dat je kunt denken aan het als een leerproces bult.

Als kinderen wordt geleerd om zich te vermenigvuldigen, zeggen drie keer vier, om hen begonnen, ze zijn vaak te horen van een groep van vier punten op te schrijven. Dan zijn ze verteld om die groep drie keer herhalen en uiteindelijk tel al de markeringen op het papier om het antwoord te krijgen. Die wordt verondersteld om ze te krijgen de basis-idee, maar als een lange-termijn strategie, het is een doodlopende weg.

Wat een computer doet voor hex

Binnen elke computer, wordt informatie opgeslagen als een verzameling van binaire bits: dat is, een collectie die je kan vertegenwoordigen door het schrijven van een lijst van nullen en enen naar elke staat te vertegenwoordigen. Binnen de computer is niet een opeenvolging van nullen en enen. Het is eigenlijk een systeem van schakelaars die open of gesloten kan worden.

Om het leven gemakkelijker te maken, bij het ​​ontwerpen van een computer, deze individuele bits worden gerangschikt in groepen van acht en riep byte s. Dus elke byte bestaat uit acht bits, maar wat betekenen ze? Nou, ze kunnen absoluut alles wat je wilt dat ze betekenen betekenen.

Afhankelijk van de context waarin je ze vindt, kunt u de bytes als getallen, tekst, computer instructies, of patronen van lichten aan te zetten te interpreteren. Om de computer, ze zijn allemaal hetzelfde, alleen een verzameling van bits. Dat is een belangrijk ding om te onthouden. Het enige wat een computer doet is te manipuleren stukjes: Mensen zetten een constructie of betekenis van die stukjes.

Hoe mensen dingen zien

Wat die stukjes te vertegenwoordigen, moet je een manier die hen vertegenwoordigen hebben, en de eenvoudigste is door het opschrijven van de string van nullen en enen. Een specifieke byte kunnen worden vertegenwoordigd door te zeggen 01100011. Dat is een beetje een moeilijk ding om te gaan met. Om te beginnen, het is een lange reeks en er is zeer weinig codering aan de hand.

Dat wil zeggen, kan elke plaats in dat de vertegenwoordiging slechts één van twee dingen. Dat is geweldig als je een computer, maar het is niet hoe de menselijke geest werkt. Mensen werken het beste wanneer er enige chunking gaande is: dat wil zeggen, wanneer de reeks wordt uitgedrukt met een kortere, maar meer variabiliteit van wat kan worden in elke plaats.

De hand liggende oplossing is die sequentie veranderen in een decimaal getal doordat elke bit vertegenwoordigt een macht van twee.

Hexadecimale notatie van de Easy Way op uw Raspberry Pi

Beginnend aan de rechterkant heb je de eerste bit of bit nul twee vertegenwoordigen om de kracht van nul of één. Dus als de meest rechtse bit een is, die een tot de eenheid draagt. U kunt vervolgens naar links te verplaatsen, en de tweede bit vertegenwoordigt twee tot de macht van één, of twee, en zo verder naar beneden in de lijst, eindigt met de meest linkse bit die twee aan de macht van zeven of 128.

Dan tel je alle bits in dat byte die een een op hen hebben op basis van hun plaats waarde aan het uiteindelijke aantal 99. Dit is een decimale vertegenwoordiging van die bit patroon te krijgen. Dus heb je het gekraakt? Nee, het vereist nogal wat hersengymnastiek.

Het omgekeerde operatie, het krijgen van de decimale weergave om een ​​beetje patroon, is zeker een potlood-en-papier job, maar je bent al halverwege het gemakkelijk te maken.

Maak hex makkelijk voor ons mensen

Wellicht kan deze byte in twee - dat wil zeggen twee groepen van vier bits. Een groep van vier bits wordt nogal vermakelijk heet een knabbel, niet helemaal een byte. In binaire, dit ziet er al een stuk eenvoudiger. Je zou schrijven 0110 0011.

Voor de meeste mensen, die ruimte in het midden maakt het zo veel makkelijker om je plaats te houden. Nu wanneer u elk van deze twee groepen te nemen en dezelfde decimale conversie van toepassing op dat als je deed met de vorige byte, krijg je het getal 63.

Dat is makkelijk te onthouden en je kunt het gewoon doen in je hoofd. Er zijn slechts vier add-ups te doen, en ze zijn slechts 8 + 4 + 2 + 1 in het slechtste geval. In feite, de eerste groep 4 + 2 = 6 en de tweede 2 + 1 = 3. Grote, die gemakkelijk was!

Hexadecimale notatie van de Easy Way op uw Raspberry Pi


Maar wacht, wat er gebeurt als je een resultaat dat meer dan 9 in een groep? Stel, je had 0000 1010. Dat zou geven u nul voor de eerste groep en 10 voor de tweede. Het nummer dat u zou hebben zou zijn 010.

Je zou het niet weten of dit was een drie-knabbelen nummer, 0000 0001 0000, of een twee-knabbelen nummer, 0000 1010. Om dit probleem te omzeilen, heb je geen nummers gebruiken om waarden groter dan negen vertegenwoordigen. In plaats daarvan, letters gebruik je.

Dus als je bij een waarde van tien als je optelt uw knabbelen, dan bel je A of in feite een. Als je naar elf, noemen jullie B en zo verder tot het alfabet tot je tot vijftien, die F. Op die manier kunt u zich aan een positie in uw nummer vertegenwoordigt vier bits of een hapje. Je hebt de sequenties lengte ingekort en chunked tot een goede mate.

Hexadecimale notatie van de Easy Way op uw Raspberry Pi


Het enige probleem is dat je moet zes nieuwe nummers te leren en ook leren hoe om aan te geven dat u een hexadecimaal getal en niet een decimaal één. De meest gebruikte conventie is om een ​​hex nummer voorvoegsel met nul (0) x, zoals in 0x21. Dit toont aan dat het een hex getal dat het bitpatroon 0010 0001. Sommige systemen maken gebruik van een ampersand (&) als voorvoegsel plaats.

Leer zes nieuwe nummers te hex knie

Probeer niet alles te weten komen van de nieuwe symbolen in een keer: Neem ze een voor een. De F is eenvoudig. Het is allemaal enen. De A is gewoon een herhaling 1010, en de C is de top twee bits ingesteld op 1100. Gewoon leren die drie om mee te beginnen. Dan is de andere zijn eenvoudig.

De B ​​is slechts één meer dan de A (1010 + 1 = 1011) en de D is een meer dan de C (1100 + 1 = 1101). Tenslotte, de E één lager is dan de F (1111-1 = 1110).