Computerpioniers: Het binaire talstelsel van Leibnitz
Het binaire talstelsel, dat door Gottfried Wilhelm Leibnitz werd ontwikkeld, is onmisbaar voor onze moderne computers. Het idee van het binaire getalsysteem berust uiteindelijk op twee waardes: 0 of 1. Die waardes kun je eventueel vervangen door 'niet waar' of 'waar', of 'False' of 'True'. Het binaire systeem legt de basis voor een logisch systeem.
Geschiedenis van de computer: binaire getallen. Een tweetallig stelsel
Rond het jaar 1672 ontwikkelt de Duitse Gottfried Wilhelm (von) Leibnitz het
binaire, ofwel 'tweetallige' stelsel. Dit talstelsel gebruikt alleen de cijfers 0 en 1. Dat in tegenstelling tot het door ons in het dagelijks leven gebruikte
decimale (tientallige) stelsel.
Tientallig stelsel
In het
decimale stelsel gebruiken we de cijfers 0 t/m 9. Belangrijk is de afspraak, dat we getallen schrijven van rechts naar links. Dat wil zeggen: helemaal rechts staan de eenheden. Daar links van staan de tientallen, dan de honderdtallen, de duizendtallen, etc. Basis voor ons getalstelsel is, dat we steeds
10 in kunnen wisselen voor
1 in de 'grotere' maat. Ofwel: tien eenheden is gelijk aan één tiental, tien tientallen zijn gelijk aan één honderdtal, etc. Ook heel belangrijk: als er geen eenheden, tientallen, honderdtallen etc. zijn, dan schrijven we op die positie een 0 (nul). Zouden we dat niet doen, dan kunnen we het onderscheid niet maken tussen bijvoorbeeld 15, 105 of 1.000.005.
Het binaire stelsel
In het
binaire stelsel gebruiken we hetzelfde principe, alleen zijn we beperkt tot de cijfers 0 en 1. Helemaal rechts staan weer de eenheden. Zodra we twee eenheden hebben, kunnen we dit inwisselen voor één tweetal, etc. Ook hier: als er geen eenheden, tweetallen, etc. zijn, dan schrijven we op de betreffende plaats een 0 (nul).
Als we dit in een tabel zetten krijg je:
4e teken | 3e teken | 2e teken | 1e teken | = | decimale waarde |
0 | 0 | 0 | 0 | = | 0 |
0 | 0 | 0 | 1 | = | 1 |
0 | 0 | 1 | 0 | = | 2 |
0 | 0 | 1 | 1 | = | 3 |
0 | 1 | 0 | 0 | = | 4 |
0 | 1 | 0 | 1 | = | 5 |
0 | 1 | 1 | 0 | = | 6 |
0 | 1 | 1 | 1 | = | 7 |
1 | 0 | 0 | 0 | = | 8 |
In deze tabel is steeds gebruik gemaakt van getallen van vier cijfers. Zoals je ziet is elke kolom verder naar rechts een vermenigvuldiging met twee (de basis van het talstelsel).
In de onderstaande tabel zie je dat verder uitgewerkt. Je ziet steeds aangegeven wat een binaire
1 in een kolom betekent in ons decimale systeem. We gebruiken nu acht tekens (later hierover meer!)
8e teken | 7e teken | 6e teken | 5e teken | 4e teken | 3e teken | 2e teken | 1e teken | = | decimale waarde |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | = | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | = | 2 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | = | 4 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | = | 8 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | = | 16 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | = | 32 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | = | 64 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | = | 128 |
Bits en bytes
Het systeem van Leibnitz is verder uitgewerkt en gestandaardiseerd voor gebruik met computers. Elk teken in de tabel hierboven (een 0 of een 1) wordt een '
bit' genoemd. In de tabel hierboven zie je dus steeds getallen staan, met een lengte van 8 tekens. In onze moderne computers worden getallen gebruikt met een lengte van 8, zo'n groepje noemen we een '
byte'.
Het grootste getal dat je in zo'n byte kwijt kunt is dus:
11111111 = 255
Snel weten wat een binair getal betekent? Kijk in de tabel hierboven om te zien wat een 1 in een bepaalde kolom waard is.
Zo is 00010100 dus: 0 + 0 + 0 + 4 + 0+ 16 + 0 + 0 = 20.
Nog een paar voorbeelden
11111111 = 1 + 2 + 4 + 8 + 16 + 32 + 64 + 128 = 255.
0101010 = 0 + 2 + 0 + 8 + 0 + 32 + 0 + 128 = 170.
Computers en het binair stelsel
Het tweetallig stelsel wordt door computers gebruikt. Computers maken gebruik van magnetische ladingen en elektrische stroompjes. Een stroompje, of een magnetische lading kan '1' betekenen, het ontbreken van een stroompje of een magnetische lading wordt dan '0'. Een serie van enen en nullen is te combineren tot getallen, en kan in de computer verwijzen naar
waardes of naar
instructies. Een computerprogramma combineert de instructies en de waardes en laat
dingen gebeuren. Zoals je ziet, het binaire stelsel lijkt gemaakt om optimaal met computers te kunnen werken.
Aan de 0 en 1 kun je natuurlijk ook waardes hangen:
nee of
ja,
niet-waar of
waar,
uit of
aan. Dit soort logische waardes worden in symbolische computertalen gebruikt.
Het mag duidelijk zijn: de bijdrage van Leibnitz was voor de ontwikkeling van onze computers van onschatbare waarde!