Uitleg van het binaire stelsel

Home / Hardware / Binair


Iemand die een beetje verstand van computers heeft weet het wel: een computer werkt met bits. Maar wat is dat nou precies? Dat gaan we hier uitleggen!

Een korte geschiedenis van het tellen

Bij de geschiedenis les is je (waarschijnlijk) geleerd dat er vroeger nog met handen en voeten geteld werd. Op een gegeven moment kwamen er getallen. De romeinen bijvoorbeeld, telden met letters. Ze konden alleen in gehelen werken. Als het om halven ging werkte dat natuurlijk niet. Na verloop van tijd deed de nul zijn introductie. Dat was nieuw, want er was tot dan toe nog niemand die een symbool aan 'niets' had toegewezen. Toen duurde het niet zolang meer voordat het decimale stelsel werd ontwikkeld: dus niet alleen hele, maar ook halve getallen, en zelfs nog veel complexer.

Toen kwam het binaire

Het decimale stelsel werkte met het 10-cijferige systeem, van 0 tot 9. Maar een wetenschapper kwam op het idee dat mechanische apparaten veel makkelijker met maar 2 cijfers werkte, namelijk 0 of 1, aan of uit. Dat is het binaire systeem, alleen met 0-en en 1-en. Het duurde erg lang voordat andere wetenschappers ermee aan de slag gingen. Maar uiteindelijk bleek het wel erg handig. Een van de eerste grote computertoepassingen was het decoderen van Duitse berichten door een Engelse computer in de 2e wereldoorlog. De computer was (mede door het binaire stelsel) in staat de berichten snel te decoderen.

Lampjes die de uitleg ondersteunen

Waarom zijn 1-en en 0-en zo makkelijk voor een computer

1-en en 0-en zijn makkelijk omdat een computer hier erg makkelijk mee kan rekenen. Hoewel het misschien stom lijkt, het optellen, aftrekken, vermenigvuldigen en dergelijke gaan er erg snel mee. Hoe dat precies in zijn werk gaat kun je hieronder lezen. Ook omdat ze erg makkelijk door te geven zijn, omdat aan en uit nu eenmaal eenvoudig zijn op te slaan, of via een telefoonlijn ofzo te transporteren.

Hoe kun je van decimaal naar binair omrekenen?

Aan de hand van een voorbeeld zal ik proberen uit te leggen hoe je het makkelijkst om kan rekenen. Hiervoor kun je uiteraard een rekenmachine met een speciaal programma gebruiken, maar dan snap je nog niet hoe het werkt. Stel je voor, een balk met 8 lampjes, met daarop van onder naar boven genummerd: 1, 2, 4, 8, 16, 32, 64, 128, zoals hiernaast. Alle lampjes staan uit. Dit is gelijk met het decimale cijfer (dus een 'gewoon' cijfer) 0, want er staan geen lampjes aan. Als u nu het lampje bij de 1 aanzet, is dit gelijk met het getal 1. Als u nu het lampje 1 uitzet, en het lampje 32 aan, dan is dit 32. Maar als u nu lampje 32 en lampje 1 aanzet, dan is dit samen 33! Zo kunt u verdergaan. Als u nu alle lampjes aanzet, is dit samen 255.

Ditzelfde gebeurt in uw computer, maar dan gaan er niet lampjes aan, maar schakeltjes aan of uit, of een stroompje of geen stroomje. Als u bijvoorbeeld lamje 1 aan, 2 uit, 3 aan, 4 aan en 5 uit hebt staan kunt u dit doorseinen als stroompje, even niets, stroompje, stroompje, even niets. Ditzelfde gebeurt in uw computer, maar dan veel sneller! Als we dit op een scherm neerzetten zeggen we niet aan, uit, aan etc. maar dit schrijven als 10110. Het balkje met lampjes van daarnet is een makkelijke manier om om te rekenen. Bijvoorbeeld: 10111011 is:

Lampjes die de uitleg ondersteunen

Nu kunt u gewoon de getallen eronder bij elkaar optellen! Dus 1+4+8+16+64+128, en dat is 221. U kunt het ook wetenschappelijk, zonder het balkje uitrekenen. Dat doet u met machten. Als het laatste lampje (dus de laatste 1 of 0) aanstaat (dus 1 is) dan gebruikt u 20. Als het op 1 na laatste lampje aanstaat gebruikt u 21, bij de volgende 22. 1001 wordt dus 23+20, en dat is 9.

Mocht je snel een aantal getallen willen omrekenen, dan kun je onze omrekentool gebruiken

Hoe kun je met binaire getallen rekenen?

Binair optellen

Een computer kan razendsnel rekenen met het binaire stelsel, maar hoe werkt dat nu precies? We pakken even een eenvoudige optelsom: 2+6. We rekenen dat even om naar binair: dat wordt 10+110. We beginnen achteraan: de getallen eindigen allebei op 0. 0+0=0, dus dat laten we zo. Dat betekend dat het laatste getal van de uitkomst (vanaf achteraan) een 0 is. Het 2e getal van achteraan is in beide gevallen 1, 1+1=2. Als we 2 omrekenen naar het binaire stelsel krijgen we 10. Dat betekend dat het 2e getal van onze berekening (van achteren) ook 0 is. Pakken we daarna het 3e getal van achteren, dan is dat 1+0=1. We hebben echter nog die 10 van de vorige som, dus we krijgen 1+0+1=2. Binair gezien is 2 nog steeds 10. Als we dit achter elkaar zetten krijgen we 1000. Als we dat weer naar decimaal omrekenen krijgen we 8! Dat klopt als een bus.

Nog een voorbeeld om het te verduidelijken:

Som: 53 + 22, binair 110101 + 10110
1+0=1, laatste getal: 1
0+1=1, volgende getal: 1, subtotaal: 11
1+1=2 => 10, volgende getal: 0, subtotaal: 1011
0+0+1=1, volgende getal: 1, subtotaal: 1011
1+1=2 => 10, volgende getal: 0, subtotaal: 101011
1+1=2 => 10, volgende getal: 0, subtotaal: 1001011
1=1, volgende getal: 1, subtotaal: 1001011, decimaal 75

Binair aftrekken

Na een optelling ook nog een aftrekking. We beginnen nu vooraan in plaats van achteraan:

Som: 58 - 45, binair 111010 - 101101
1-1=0, eerste getal: 0
1-0=1, volgende getal: 1, subtotaal: 01
1-1=0, volgende getal: 0, subtotaal: 010

Hieronder wordt het een beetje lastig, omdat we te maken krijgen met negatieve getallen. Om dat op te lossen moeten we een paar getallen die we al neergezet hebben "wegsnoepen". We hebben op dat moment 100 staan, en daar moet er eentje vanaf. We krijgen dan: 100 - 1 = 011.

0-1=-1, volgende getal: -1, subtotaal: 0011
1-0=1, volgende getal: 1, subtotaal: 00111
0-1=-1, volgende getal: -1, subtotaal: 001101, decimaal: 13

Sneller rekenen

Hierboven hebben we steeds gerekend zoals een computer dat doet: bit voor bit bij elkaar optellen. Mocht je ooit een binaire som willen oplossen met een gewone rekenmachine, dan is er een snellere manier: 10+110=120, decimaal gezien. Vroeger heb je misschien wel geleerd met een abacus te werken. Als je dan meer dan 9 kraaltjes op een rij had moest je alle kraaltjes terugschuiven en er eentje op de volgende rij zetten. Dat doen wij hier ook: 120 kan niet binair, omdat 2 niet bestaat. We beginnen weer achteraan: die laatste 0 kan blijven staan. De 2 daarvoor kan niet, dat wordt 10. Dat tellen we er weer bij op, dat wordt 200. Ook dat kan niet, 2 wordt 10, dus 1000.

Om het te verduidelijken geef ik hier nog een sommetje:

Som: 53 + 26, binair 110101 + 11010
110101 + 11010 = 121111
Als we de laatste 2 eruit halen krijgen we 201111
Als we de daaropvolgende 2 eruit halen krijgen 1001111, decimaal: 79
Ook die klopt!

Binair vermenigvuldigen

Je kunt met de hierboven uitgelegde rekenmethode ook vermenigvuldigen. Ook hier moeten we de getallen "gewoon" met elkaar vermenigvuldigen en daarna de 2-en eruit halen. Een voorbeeld:

2*2=4, binair 10*10=100
Binair 100 is decimaal 4! Dat klopt!

Een ander voorbeeld:

3*3=9, binair 11*11=121
121, de 2 eruit halen wordt 201
201, de 2 eruit halen wordt 1001
Binair 1001 is decimaal 9! Dat klopt!

Binair aftrekken

Je kunt zo ook binair aftrekken. Dit is misschien iets moeilijker te begrijpen. Bij het optellen kregen we namelijk een aantal keer een 2, die "eruit moest". Bij het aftrekken krijgen we echter af en toe een 9. Dit heeft te maken met de negatieve getallen die we kregen bij het hierboven uitgelegde "langzame binaire aftrekken". Hier een voorbeeld om het te verduidelijken:

6-2=4, binair 110-10=100
Binair 100 is decimaal 4! Dat klopt!

Een ander voorbeeld:

4-2=2, binair 100-10=90
Die 9 staat in het deicmale stelsel voor 10-1, in het binaire voor 2-1, dus moeten we de 9 omzetten naar 1
90 wordt 10
Binair 10 is decimaal 2! Dat klopt!

Binair delen

Helaas kun je niet op de hierboven beschreven manier delen! Dat zul je toch echt aan de computer moeten overlaten.

Dat was het dan...

Hopelijk was het duidelijk!