Weet iemand waarvoor je dat kunt gebruiken?

Blog 59, Weet iemand waarvoor je dat kunt gebruiken? 

Afbeelding van een ouderwetse computer
Gisteren werd er op de radio flink gelachen om onwetendheid. Dat vind ik uitermate irritant. Als je iets niet weet, ga je dat uitzoeken, tenminste als het je interesseert. In dit geval ging het over iemand die iets zei over andere getallenstelsels dan het tientallig stelsel dat wij hanteren. "Iemand wel eens van het hexadecimale stelsel gehoord? Waar is het eigenlijk goed voor?" Niemand had ook maar het flauwste idee. Lachen!



Bijna iedereen heeft heden ten dage te maken met het hexadecimale stelsel zonder dat te beseffen. Het is een 16-tallig systeem, waarbij na 0 tot en met 9 wordt doorgeteld met A, B, C, D, E en F.
F staat in ons gebruikelijke stelsel dus voor 15. Met de 0 meegerekend gaat het om 16 getallen, vandaar hexadecimaal (hexa betekent in het Grieks zes en decimus in het Latijn de tiende). In de notatie zie je vaak dat er een nul voor staat. 0C is dan de notatie voor 12.

Maar wat heb je hier aan? In de wereld van de computers worden hexadecimale getallen heel vaak gebruikt omdat deze getallen veel beter aansluiten bij de nulletjes en ééntjes waarmee deze apparaten worden gevoed. Werken met 0 en 1 wordt trouwens het binaire stelsel genoemd. Ik vind het wonderlijk om te beseffen dat een groot computerspel met veel werelden en verschillende soorten acties, die je zelf kunt beïnvloeden, in wezen werkt op een stroom van nulletjes en ééntjes.
Als in het bewuste radioprogramma iemand had gezegd "dat passen ze toe in computers" dan was ik al tevreden geweest, maar voor mezelf wil ik het preciezer weten (en om onbegrijpelijke redenen de geachte lezer van deze blog er kond van doen).

In het binaire getallenstelsel wordt een getal voorgesteld door een rij van nulletjes en ééntjes. Je hebt vast wel eens van 'bits' gehoord. Een bit (hierin zijn de Engelse woorden binary en digit verwerkt) is de kleinste hoeveelheid informatie die twee waarden kan aannemen: 0 of 1, niet waar of waar, uit of aan. 
Laten we eens een blok van 4 bits nemen, elke bit kan de waarde 0 of 1 aannemen. Dat leidt dan voor de getallen 0 tot en met 10 tot:

Tabel met de getallen 0 tm 10 in binaire notatie









Er zijn in totaal voor deze 4 bits 16 mogelijkheden. Als je telt van 0 tot 15 (hexadecimaal) krijg je 1111 als laatste binaire getal. Bij het invoeren van informatie werkt de computer dus met nulletjes en ééntjes, maar het wordt een hele klus om grote getallen op die manier in te voeren. De meeste computers werken met geheugenblokken die patronen van 8 bits kunnen verstouwen. Hierboven zie je dat 4 bits informatie 16 mogelijkheden heeft, 8 bits informatie heeft dan 16x16 = 256 mogelijkheden, van 0 tot en met 255. Het getal 255 schrijf je binair met acht ééntjes: 11111111. Dat wordt hexadecimaal FF en dat voert een stuk makkelijker in. De 256 mogelijkheden aan informatie kun je dus met twee hexadecimale getallen beschrijven. Dit wordt een byte genoemd.

Als je zelf kleuren maakt op de computer, kan dat met hexadecimale getallen. Dat gebeurt met de basiskleuren Rood, Groen en Blauw (RGB). Hierin is zwart 00 00 00 en wit FF FF FF.
Dat levert 256x256x256 is bijna 17 miljoen kleurcodes op door de informatie naar 3 bytes te sturen.
Zo kun je bijvoorbeeld de regenboogvlag zelf printen met de volgende kleurencombinaties:

Hexadecimaal: E4 03 03 -  FF 8C 00 - FF ED 00 - 00 80 26 - 00 4D FF - 75 07 87 
Tientallig: (228,3,3) - (255,140,0) - (255,237,0) - (0,128,38) - (0,77,255) - (117, 7,135)


Kleurentabel met hexadecimale waarden van de regenboogvlag

Er bestaan geen wonderen: er bestaat alleen onwetendheid. (Pythagoras)












Reacties

Een reactie posten