Denkende machines


Leibniz' flipperbak

Het eerste binaire rekenapparaat werd bedacht door Leibniz. Leibniz bedacht eerder de eerste rekenmachine die volledig mechanisch kon vermenigvuldigen. Deze machine is indertijd ook gebouwd en er zijn nog steeds originelen van te bezichtigen in Duitse musea (Braunsweig en Kassel). Later ontwierp hij als eerste het binaire rekensysteem en bedacht tegelijkertijd dat een machine die met twee getallen (0 en 1) veel simpeler te ontwerpen is. Het probleem is natuurlijk dat de gebruiker niet gewend is om binair te rekenen. Hij heeft daarom alleen op papier nagelaten hoe zo'n machine ongeveer moest werken. Hieronder vindt men een animatie van Leibniz' ontwerp die het optellen van twee binaire getallen aankan.

Gebruiksaanwijzing

Het binaire getallenstelsel werkt in principe hetzelfde als het tientallige, alleen dan met slechts twee cijfers 0 en 1. Als we het getal twee willen presenteren dan voeren we dezelfde systematiek door als bij het tientallig stelsel zodra we bij het getal tien zijn aangekomen. We zijn door de hoeveelheid cijfers heen, en hogen dan de plaats ter linkerzijde met 1 op. Twee wordt dus 10 en drie 11. Bij vier komen we nu in de zelfde situatie als bij honderd in het tientallig stelsel. Vier wordt 100, vijf wordt 101, zes 110 en zeven 111. Vervolgens wordt acht gerepresenteerd door 1000, negen door 1001, tien door 1010, &c.

De machine van Leibniz hierboven bestaat uit registers waar een kogeltje in past. Een leeg register representeert het cijfer 0 en een gevuld register het cijfer 1. Als nu een kogeltje op een leeg register valt dan wordt deze daar met een veertje vastgezet, als het kogeltje op een gevuld register valt dan wordt het kogeltje in het register uit het register gestoten en het vallende kogeltje stuitert een register verder naar links. Hiernaast dit mechanisme voor een enkel register uitgebeeld.

Om dit in de animatie hierboven na te spelen, leg eerst een kogeltje neer boven het meest rechter register door het register aan te klikken. Laat het kogeltje nu het register binnenvallen door op de bovenrand (zwart) van het register te klikken. Het kogeltje valt in het register en wordt vastgeklemd door het zwarte pinnetje. Leg weer een kogeltje op het register door het zelfde register aan te klikken. Laat hem weer vallen. Het binnenvallende kogeltje stuitert het kogeltje uit het meest rechter register en komt pas in het register ter linkerzijde tot rust. Tegelijkertijd wordt door het binnenvallen van de nieuwe kogel het oude kogeltje uit het meest rechter register weggestoten. We hebben de som 1+1=10 (een plus een is twee) uitgevoerd.

Natuurlijk willen we ook wat complexere gevallen berekenen. Om bijvoorbeeld zeven (111) plus vijf (101) te bereken vullen we eerst de drie registers aan de rechterkant (zeven). Vervolgens laten we op het meest rechter register en twee plekken ter linkerzijde een kogel vallen (plus vijf). Het resultaat zal 1100 zijn: de binaire representatie van twaalf.