Het tweetallig (binair) stelsel

Inleiding

'Een computer rekent alleen maar met nullen en enen'.... is een vaak gehoorde uitspraak.
Dat lijkt onhandig, maar is ons tientallig stelsel wel zo vanzelfsprekend?
Wiskundig gezien is het twaalftallig stelsel veel logischer en gemakkelijker aan te leren.
Denk aan een dozijn, een gros, 12 uren op een dag, twaalf maanden in een jaar, de sterrenbeelden....
En waarom zitten er zestig (12 keer 5) minuten in een uur en ook weer 60 seconden in een minuut? En wat als de mens geen 10 vingers had gehad maar 8?

Als we net als Mickey Mouse maar acht vingers hadden, dan hadden we heel anders geteld...
Het is even wennen maar met het achttallig, zestientallig, twaalftallig en tweetallig stelsel kun je gewoon rekenen.
Een computer doet dat ook. Tweetallig rekenen gebeurt in de praktijk met schakelaars die AAN (1) of UIT (0) kunnen staan.

Het tweetallige stelsel.

Wij zijn gewend om met TIEN symbolen (cijfers) te rekenen. Daarbij is de NUL een heel briljante uitvinding geweest!

  0   1   2   3   4   5   6  7  8  9
 10  11  12  13  14  15  .........99
100 101 102 103 .................999
Een computer kent maar twee symbolen: de 0 en de 1:
    0     1
   10    11
  100   101   110   111
 1000  1001  1010  1011  1100  1101  1110  1111
10000 10001 10010 10011  .........
En daar waar wij bij tien, honderd en duizend steeds opnieuw beginnen, gebeurt dat nu bij twee, vier, acht, zestien, tweeendertig, vierenzestig, honderdachtentwintig, tweehonderdzesenvijftig....
Een computer is daarom ook ijzersterk in het verdubbelen....

Het tweetallige stelsel in de computer: bits en bytes.

In een computer zitten miljoenen kleine schakelaars. Zo'n schakelaar kan twee posities aannemen: stroom doorlaten of juist niet.
En die twee mogelijkheden geven we aan met 1 en 0.
Zo'n schakelaar noemen we een bit, afgeleid van binary digit.
Binary betekent twee-tallig en digit komt van een grieks woord voor vinger. Als je klein bent gebruik je je vingers immers vaak bij het tellen.
Een bit kan dus twee waarden aannemen: 1 en 0.
Als je twee bits gebruikt heb je vier verschillende combinaties: 00, 01, 10 en 11
Met drie bits zijn er acht combinaties: 000, 001, 010, 011, 100, 101, 110 en 111
Met vier bits kun je zestien combinaties maken: je kunt voor alle acht combinaties met drie bits een 0 zetten, maar ook kun je voor die acht combinaties een 1 zetten.
Elke keer als je een bit toevoegt krijg je twee keer zoveel combinaties.

Met 4 bits heb je dus 16 ( = 2 4 ) mogelijkheden.
Met 5 bits heb je 32 ( = 2 5 ) mogelijkheden.
Met 6 bits heb je 64 ( = 2 6 ) mogelijkheden.
Met 7 bits heb je 128 ( = 2 7 ) mogelijkheden.
Met 8 bits heb je 256 ( = 2 8 ) mogelijkheden.
Met 10 bits heb je 1024 ( = 2 10 ) mogelijkheden.
Met 16 bits heb je 65536 ( = 2 16 ) mogelijkheden.

Bits worden meestal in groepjes van acht bij elkaar genomen, dat noemen we een byte (dat is de samentrekking van by eight).
Een byte kan 256 ( = 2 8 ) verschillende waarden hebben.

De grootte van bestanden of de omvang van het geheugen wordt meestal gegeven in kilobytes of megabytes of gigabytes.
Een kilobyte, afgekort kB, is 1000 bytes. Vaak wordt gezegd dat een kilobyte 1024 bytes ( = 2 10 ) is, maar officieel wordt dit nu een kibibyte genoemd, afgekort KiB.
De volgende benamingen worden gebruikt:

kB (kilobyte) 10001 = 103   KiB (kibibyte) 210 = 10241
MB (megabyte) 10002 = 106   MiB (mebibyte) 220 = 10242
GB (gigabyte) 10003 = 109   GiB (gibibyte) 230 = 10243
TB (terabyte) 10004 = 1012   TiB (tebibyte) 240 = 10244