Talstelsels

leestijd: 11 minuten

binair decimaal hexadecimaal

Het Decimaal Stelsel

Dit is een extra stukje tekst

Wij mensen rekenen tegenwoordig met het Decimale Talstelsel. Dit wilt zeggen dat we een combinatie van 10 tekens gebruiken om de waarde van iets weer te geven. Deze tekens, ook wel CIJFERS genoemd, zijn:

0 1 2 3 4 5 6 7 8 9

We noemen dit het Decimale talstelsel omdat we 10 cijfers gebruiken (‘Deci’ komt van het Latijnse woord voor ‘10’).

Hoewel we maar 10 cijfers hebben, zijn we toch in staat om véél grotere waardes dan 9 te creëren. We doen dit door een getal te maken. Een getal is een combinatie van 1 of meer cijfers achter elkaar geschreven. Bijvoorbeeld:

723

Hoewel we dus géén cijfer hebben om de waarde van 723 weer te geven, kunnen we meerdere cijfers na elkaar schrijven en zo heel grote (en heel kleine) getallen samen te stellen.

Hoe Werkt het Decimaal Talstelsel?

Maar hoe weten we nu eigenlijk wat het getal 723 voorstelt? We kunnen niet zomaar de cijfers 7, 2 en 3 optellen bij elkaar: 723 is véél groter dan 7 + 2 + 3.

Je kent dit waarschijnlijk nog van de lagere school:

Wanneer je dus wilt weten hoeveel 723 is, moet je (7 x 100) + (2 x 10) + (3 x 1) uitrekenen.

Stel dat je getal bestaat uit 6 cijfers (bv. 859326), hoe weet je dan met hoeveel je het eerste cijfer moet vermenigvuldigen?

(eenheden)             1      = 1 
(tientallen)           10     = 1 x 10 
(honderdtallen)        100    = 1 x 10 x 10 
(duizendtallen)        1000   = 1 x 10 x 10 x 10 
(tienduizendtallen)    10000  = 1 x 10 x 10 x 10 x 10 
(honderdduizendtallen) 100000 = 1 x 10 x 10 x 10 x 10 x 10 

Een getal met 6 cijfers heeft dus als éérste getal een honderdduizendtal. Zoals je ziet, vermenigvuldigen we telkens met 10 extra. Waar komt die 10 dan vandaan? Die komt van ons 10-tallig (decimaal) stelsel!

De tabel hierboven kan je ook korter schrijven:

(eenheden)             1      = 100
(tientallen)           10     = 101
(honderdtallen)        100    = 102
(duizendtallen)        1000   = 103
(tienduizendtallen)    10000  = 104
(honderdduizendtallen) 100000 = 105

Let eens goed op de machten van 10! Die beginnen met tellen bij 0 en gaan zo telkens één stapje hoger!

Het 10-tallig stelsel gebruikt de machten van 10.

Optellen in het Decimaal Talstelsel

Begin bij het getal 000. Het meest rechtse cijfer in het getal verhoog je telkens met één. Zo ga je eigenlijk gewoon het rijtje van cijfers af:

0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9

Kom je bij het laatste cijfer (9), dan ga je gewoon terug naar het begin van de rij (0), en je verhoogt het cijfer dat links staat met één.

Dit is duidelijker met een animatie:

voorbeeld

Het is belangrijk om te onthouden dat we in het 10-tallig stelsel de 10 cijfers gebruiken om op te tellen.

Andere Talstelsels

Er is een simpele reden dat wij werken met een 10-tallig stelsel: wij gebruiken al duizenden jaren onze 10 vingers om te tellen. Dit is echter niet bij iedereen zo:

Je kan dus tellen en rekenen in allerlei talstelsels, niet alleen in het onze!

Nu komt dus de grote vraag: Wat Als? Wat als wij geëvolueerd waren met 8 vingers in plaats van 10, zoals in het geval van The Simpsons?

voorbeeld

Ons rijtje met cijfers had er in elk geval heel anders uit gezien. De cijfers 8 en 9 zouden we niet kennen:

0 1 2 3 4 5 6 7

Het getal 98 zou dus niet bestaan, want het cijfer 8 of 9 kennen we niet!

Optellen zou er ook anders uitzien. Kijk eens naar de animatie hieronder, en probeer te voorspellen wanneer je het getal 10 of 100 te zien gaat krijgen:

voorbeeld

Eigenlijk werkt dit exact hetzelfde als bij ons 10-tallig stelsel! Begin bij het getal 000. Het meest rechtse cijfer in het getal verhoog je telkens met één. Zo ga je eigenlijk gewoon het rijtje van cijfers af. Ons rijtje is nu gewoon een beetje korter:

0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7

Kom je bij het laatste cijfer (7), dan ga je gewoon terug naar het begin van de rij (0), en je verhoogt het cijfer dat links staat met 1. **Dus: na 7 volgt 10, en na 77 volgt 100.

Het 8-tallig stelsel gebruikt dus ook andere machten:

(eenheden)             1      = 80
(tientallen)           10     = 81
(honderdtallen)        100    = 82
(duizendtallen)        1000   = 83
(tienduizendtallen)    10000  = 84
(honderdduizendtallen) 100000 = 85

Het Binaire Talstelsel

Opnieuw de vraag: Wat Als? Wat als wij geëvolueerd waren met slechts 2 vingers in plaats van 10?

Ons rijtje met cijfers had er ook hier heel anders uit gezien. De cijfers 2 tot en met 9 zouden we niet kennen:

0 1

Het getal 27 zou dus niet bestaan, want het cijfer 2 of 7 kennen we niet!

Optellen zou er ook anders uitzien. Kijk eens naar de animatie hieronder, en probeer te voorspellen wanneer je het getal 10 of 100 te zien gaat krijgen:

voorbeeld

Eigenlijk werkt dit exact hetzelfde als bij ons 10-tallig stelsel! Begin bij het getal 000. Het meest rechtse cijfer in het getal verhoog je telkens met één. Zo ga je eigenlijk gewoon het rijtje van cijfers af. Ons rijtje is nu gewoon een beetje korter:

0 -> 1

Kom je bij het laatste cijfer (1), dan ga je gewoon terug naar het begin van de rij (0), en je verhoogt het cijfer dat links staat met 1. **Dus: na 1 volgt 10, en na 11 volgt 100.

Dit is het Binaire stelsel (2-tallig), het kleinste talstelsel dat mogelijk is. Het is met dit talstelsel dat een computer rekent.

Het binaire stelsel gebruikt dus ook andere machten:

(eenheden)             1      = 20
(tientallen)           10     = 21
(honderdtallen)        100    = 22
(duizendtallen)        1000   = 23
(tienduizendtallen)    10000  = 24
(honderdduizendtallen) 100000 = 25

Het Hexadecimale Talstelsel

Opnieuw de vraag: Wat Als? Wat als wij geëvolueerd waren met 16 vingers in plaats van 10?

Ons rijtje met cijfers had er weeral heel anders uit gezien. In dit geval moeten we zelfs cijfers gaan bij verzinnen! Voor het 16-tallig stelsel gebruiken we vaak de letters van het alfabet om de cijfers voor 10, 11, enz. aan te duiden:

0 1 2 3 4 5 6 7 8 9 A B C D E F

Het getal FD3 zou dus perfect mogelijk zijn!

Optellen zou er ook anders uitzien. Kijk eens naar de animatie hieronder, en probeer te voorspellen wanneer je het getal 10 of 100 te zien gaat krijgen:

voorbeeld

Eigenlijk werkt dit exact hetzelfde als bij ons 10-tallig stelsel! Begin bij het getal 000. Het meest rechtse cijfer in het getal verhoog je telkens met één. Zo ga je eigenlijk gewoon het rijtje van cijfers af. Ons rijtje is nu gewoon een beetje korter:

0 -> 1 -> 2 -> 3 -> 4 -> 5 -> 6 -> 7 -> 8 -> 9 -> A -> B -> C -> D -> E -> F

Kom je bij het laatste cijfer (F), dan ga je gewoon terug naar het begin van de rij (0), en je verhoogt het cijfer dat links staat met 1. **Dus: na F volgt 10, en na FF volgt 100.

Het hexadecimale stelsel gebruikt dus ook andere machten:

(eenheden)             1      = 160
(tientallen)           10     = 161
(honderdtallen)        100    = 162
(duizendtallen)        1000   = 163
(tienduizendtallen)    10000  = 164
(honderdduizendtallen) 100000 = 165

Omzetten naar Decimaal en Terug

De 3 talstelsels die je het meest moet kennen zijn:

Binair naar Decimaal

Het getal 1011002:

25 24 23 22 21 20  
1 0 1 1 0 0  
1x32 0 1x8 1x4 0 0 =44

Hexadecimaal naar Decimaal

Het getal 3DF72:

165 164 163 162 161 160  
0 0 3 D F 7  
0 0 3x4096 13x256 15x16 7x1 =15863

Decimaal naar Binair

Het getal 2710:

25 24 23 22 21 20  
0 1x16 1x8 0 1x2 1x1  
0 1 1 0 1 1 =11011

Decimaal naar Hexadecimaal

Het getal 14310:

165 164 163 162 161 160  
0 0 0 0 8x16 15x1  
0 0 0 0 8 F =8F

Binair naar Hexadecimaal

Binair en Hexadecimaal zijn héél erg gelijk aan elkaar. Dit is omdat het binaire getal 1111 (het hoogste getal met 4 cijfers) gelijk is aan het hexadecimale getal F (het hoogste getal met 1 cijfer). Om Binair om te zetten naar Hexadecimaal moet je gewoon elke 4 binaire cijfers omzetten naar een hexadecimaal cijfer.

Bijvoorbeeld:

Binair getal:
100111

In groepjes van 4 cijfers:
0010 0111

Elk groepje in hexadecimaal omgezet:
2 7

Resultaat:
27

Dit is de reden waarom programmeertalen vaak gebruik maken van hexadecimale getallen: het is gemakkelijk om te zetten naar binair, maar het is véél korter om te schrijven.

Hexadecimaal naar Binair

Hetzelfde werkt ook in omgekeerde richting. Om Hexadecimaal om te zetten naar Binair moet je gewoon elk hexadecimaal cijfer omzetten naar binaire cijfers.

Bijvoorbeeld:

Binair getal:
F7

Elk cijfer apart:
F 7

Elk cijfer omgezet in binair:
1111 0111

Resultaat:
11110111