Talstelsels
Als programmeur kom je regelmatig getallen tegen die er anders uitzien dan je gewend bent. CSS-kleuren zoals #FF5733, bestandsrechten zoals chmod 755, of een IPv6-adres — ze werken allemaal met andere talstelsels. In dit hoofdstuk leer je hoe die stelsels werken, hoe je er tussen omrekent en waarom ze zo handig zijn in de informatica.
Wat is een talstelsel?
Een talstelsel is een afgesproken manier om getallen voor te stellen met symbolen. Het grondtal bepaalt hoeveel symbolen er zijn en welke waarden de posities in een getal hebben.
| Talstelsel | Grondtal | Symbolen |
|---|---|---|
| Decimaal | 10 | 0 1 2 3 4 5 6 7 8 9 |
| Binair | 2 | 0 1 |
| Hexadecimaal | 16 | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
Positionele waarde
In elk talstelsel bepaalt de positie van een cijfer zijn waarde. Dat principe ken je al uit het decimale stelsel: in het getal 253 staat elke positie voor een macht van 10.
Hoe verder naar links, hoe hoger de macht. Hetzelfde principe geldt voor binair en hexadecimaal — maar dan met machten van 2 of 16.
Je ziet in bovenstaande formule het getal . Het kleine getal rechtsonder — de subscript — geeft het grondtal aan. Het vertelt je in welk talstelsel het getal staat: is 253 in het tientallige stelsel, is een binair getal en is hexadecimaal.
Machten
In de notatie staat G voor het grondtal — de basis van het talstelsel — en M voor de macht, de positie of exponent. Hoe groter M, hoe groter de waarde van die positie.
Een machtsverheffing betekent: vermenigvuldig precies keer met zichzelf.
Speciaal geval: elk getal tot de macht 0 is altijd 1.
De machten van 2 kom je in de informatica constant tegen. Leer ze kennen:
| 1 | 2 | 4 | 8 | 16 | 32 | 64 | 128 | 256 | 1024 |
Notatie
Als we met meerdere talstelsels tegelijk werken, geven we het grondtal aan met een subscript rechtsonder:
In code zie je ook andere notaties: 0b1011 voor binair en 0xFF voor hexadecimaal.
Wat leer je in dit hoofdstuk?
| Sectie | Wat je leert |
|---|---|
| Binair | Hoe computers rekenen met 0 en 1 |
| Hexadecimaal | Compacte notatie voor binaire data |
| Conversie | Omrekenen tussen decimaal, binair en hex |
| Bitwise operaties | Rekenen op bitniveau: AND, OR, XOR, shifts |
| Tekstcodering | Hoe tekst als getallen wordt opgeslagen: ASCII en UTF-8 |