© René Franquinet (2012-2016)    Ontworpen in Serif WebPlus     info@questionit.nl


Question it
Question it

Nul en één (2)


(mei 2011)

We gaan ons 0-1-stukje wat kleurrijker maken.


Op het laagste niveau, dat van de elektronica, wordt niet gewerkt met 0 en 1, maar met elektrische pulsen. Vandaar dat we het in de vorige Icteaser bij onverwachte resultaten hadden over een misschien defecte afstandsbediening of tv. We spreken af dat een puls of het afwezig zijn daarvan, voorgesteld wordt als nul en een in een bepaalde combinatie met elkaar. Ook de digitale letters van het alfabet worden met combinaties van 0 en 1 weergegeven. In een Engelstalig alfabet (dat geen bijzondere tekens heeft, zoals è en ö en ç)  kun je met een serie van 7 combinaties van 0 en 1 alle standaardletters weergeven. De code varieert van 0000000 tot en met 1111111. Dat levert 128 combinatiemogelijkheden op (27). De eerste computers die we kennen, werden in de VS ontworpen en men kon zich daar met die 7 bits (een bit kan een 0 of een 1 voorstellen) wel redden. Toen de Europese talen meer letters nodig maakten, moesten meer bits gebruikt worden voor het weergeven daarvan. Het werden tussentijds 8 bits (waarmee je dus 28 = 256 lettertekens kunt coderen) maar uiteindelijk 16 bits, waar in principe 216 = 65536 tekens mee gemaakt kunnen worden. Dat laatste wordt de Unicode genoemd. In Unicode zijn vele talen gecodeerd, zo ook het Klingon (tlhIngan Hol) uit Star Trek! Je kunt lettercodering goed bekijken als je in MS Word versie 2010 (met excuses aan de Mac-gebruikers, maar die zullen ongetwijfeld ook applicaties hebben met dezelfde opties) het volgende doet: klik aan de bovenkant in tab Invoegen de optie Symbool (aan de rechterkant) aan en vervolgens Meer symbolen. Ga hierin op zoek naar het €-teken. Je ziet rechts onderaan de codering van het €-teken: Achter Tekencode vind je 20AC van: Unicode (hex). Hex staat voor hexadecimaal (weergave in zestientallig stelsel), waarvan de waarde per eenheid varieert van 0 tot en met F; decimaal lopen 0hex tot en met Fhex van 0dec tot en met 15dec. 20AChex staat voor 8364dec. Je kunt dit controleren aan de hand van de Rekenmachine van Windows, waarin je de keuze wetenschappelijk (voor Windows-versies tot en met 6) en programmeren (vanaf versie 7) kiest. Hiermee kun je binaire, decimale en hexadecimale (en zelfs octale) getallen naar elkaar omzetten. De hexadecimale notatie heeft het voordeel dat ze gemakkelijker machten van 2 (denk aan die 0 en 1) kan uitdrukken. Zo geef je 256 combinatiemogelijkheden binair (tweetallig) aan met 11111111, decimaal met 256 en hexadecimaal met FF.

Ook digitale kleuren moeten binair (alweer die 0 en 1) of hexadecimaal aangeduid worden. Een oefeningetje: open MS Paint (zit in Bureau-accessoires). Kies de optie kleuren bewerken. In het nu verschenen menu zie je onderaan dat er gewerkt wordt met de basiskleuren Rood, Groen en Blauw. Elke kleur kan verkregen worden uit een combinatie van de tinten van de drie kleuren. Elke kleur heeft 256 kleurvariaties. Dat zijn er dus 28 voor elke basiskleur. Probeer dit maar eens uit door twee kleuren op 0 te laten staan en één kleur te variëren in stappen van pakweg 10 vanaf 0 tot en met 255 (omdat de 0 ook meetelt, levert dit 256 mogelijkheden op). Wat levert de combinatie 0, 0, 0 op? (1)  En 255, 255, 255? (2)  Welke combinatie levert een normale grijstint op? (3)

Paint werkt per beeldpuntje (pixel) dus met 3 x 8 bits = 24 bits kleurendiepte. Meer is niet nodig, want we zouden het verschil tussen kleur DA7hex en DA8hex waarschijnlijk niet eens waarnemen, hoewel het oog heel erg gevoelig is voor kleurnuances. Heb je een echt bij-de-tijds beeldscherm van pakweg 1900 bij 1600 pixels, dan moet je videogeheugen 1900 x 1600 x 24 = 72960000 bits groot kunnen zijn. Dat is geen probleem, een groter probleem is de verversingsfrequentie van minimaal 25 keer per seconde om dit beeldscherm mooie vloeiende beelden te laten vertonen.

Maar dat is een ander verhaal.