Leerzaam Longreads

Kort en krachtig: Binair

David Klein Velderman
Geschreven door David Klein Velderman

Binaire code is een vrij algemeen bekende vorm van code (iedereen is bekend met de nulletjes en ééntjes), maar desondanks begrijpt men vaak niet hoe deze wordt geschreven, of wat het eigenlijk inhoudt. Binair is ook veel breder inzetbaar dan alleen voor wanneer je de nerd uit wilt hangen.

Binaire code is namelijk de volgorde waarin een computer stroomstootjes geeft: een één (1) voor iedere stroomstoot, en nul (0) voor iedere pauze. Zo kan een computer effectief en snel code lezen, en deze vertalen op verschillende manieren. Sommige computers kunnen met binaire code bepaalde licht- en geluidsignalen opwekken, terwijl je met binair ook een text kan schrijven.

Dat laatste gebeurt via een ASCII-tabel: een tabel waarbij voor iedere byte een letter staat. Het woord ‘byte’ staat voor ‘by eight’, oftewel ‘bij acht’. ASCII-codes worden ook in reeksen van acht cijfers gedefiniëerd.

Een voorbeeld van een binaire text zou dan zijn:

01001000 01100101 01111001 00101100 00100000 01101001 01101011 00100000 01100010 01100101 01101110 00100000 01100101 01100101 01101110 00100000 01110011 01101001 01101101 01110000 01100101 01101100 00100000 01110110 01101111 01101111 01110010 01100010 01100101 01100101 01101100 01100100 00100001
Wat dan weer vertaalt in:
Hey, ik ben een simpel voorbeeld!”

Wat opvalt is dat er voor iedere entiteit een byte staat. Je kunt dit controleren door alle inhoud in de text (inclusief spaties!) te tellen, waardoor je op 33 komt. Gelukkig is dat ook het aantal bytes die weergeven staat in code.

Als je dit wilt controleren, of je wilt rondkloten met binaire code, kan dat op deze site:
http://www.roubaixinteractive.com/PlayGround/Binary_Conversion/Binary_To_Text.asp

Maar als je kijkt naar de ASCII-tabel die hierboven staat, dan zie je geen bytes; je ziet gewone getallen! Dat komt omdat je met binair ook op een bijzondere manier kan rekenen. Hiervoor worden machten van 2 gebruikt. Het rekenen gaat als volgt:

Je ziet in de tabel dat er voor iedere macht van 2, een 1 ontstaat gevolgd door nullen. Dit is ook wiskundig verklaarbaar, en is aan te tonen in de tabel. Je kunt dus zo eigenlijk turfjes neerzetten om het getal wat je benaderd wilt hebben, zo ver mogelijk te vereenvoudigen.

Voorbeeld:

Stel, ik ga met bytes tellen. Dan kan het maximale getal alles zijn, wat onder het binaire getal 1 0000 0000 ligt, wat vertaalt in 2^8=256 (er is een 1 met acht nullen, dus neem je de achtste macht van 2). Volgens die logica, is 11111111 dus het getal 255.
Ik krijg het binaire getal 01101001.
Dan moet je van links naar rechts bekijken welke macht van 2 je op moet tellen.

Er staat op de eerste plek een 0. Dus, hier gebeurt niks.

Op de tweede plek is er een 1. Ik moet vanaf deze positie de zesde macht van 2 pakken. Dus, je telt er 2^6= 64 bij op.

Op de derde plek is er ook een 1. Hier pak je 2^5= 32.

Op de vierde plek is er niets.

Op de vijfde plek is er weer een 1, tel hier dus 2^3= 8 bij je uitkomst.

Op de zesde en zevende plek is er niets.

Op de achtste plek staat ook weer een 1. Omdat hier geen andere getallen achter kunnen staan, moet je de nulde macht van twee nemen, en die is 2^0= 1.

Als je alle getallen bij elkaar optelt, krijg je de som 64+32+8+1 = 105.

Aha! Onze methode heeft gewerkt, en valt op het internet te controleren.
Volgens de ASCII-tabel zouden we op het teken ‘i’ uitkomen, omdat deze de 105e decimale positie heeft in de tabel. Je kunt dit nagaan in de eerder vertoonde tabel.

Eigenlijk is binaire code heel handig voor veel toepassingen, of het je wachtwoord van je WiFi is, of je wilt de tijd van je vrienden verspillen met een groot binair bericht, het is altijd lachen geblazen met wat je eruit krijgt. En het leukste is: nu weet je deze code beter te begrijpen.

Print Friendly, PDF & Email

Over de schrijver

David Klein Velderman

David Klein Velderman

Ik schrijf artikelen met de productiewaarde van een kleuter en de humorwaarde van iedere jongen in groep zeven.