Getallenstelsels.
Een talstelsel, getallenstelsel of getallensysteem is een wiskundig systeem om getallen voor te stellen. Oorspronkelijk was een talstelsel een systeem om te tellen. Omdat tellen het opnoemen van (natuurlijke) getallen inhoudt, kwam vanzelf de manier van noteren van die getallen aan de orde. Zo zijn er talstelsels als het binaire stelsel en het daarmee verwante octale en hexadecimale stelsel, die slechts bedoeld zijn om getallen voor te stellen.
Ook is het mogelijk met de verschillende talstelsels te rekenen en/of om te rekenen.
tientallig stelsel - decimaal stelsel:
Het decimale getallenstelsel heeft als basis tien. Dit stelsel gebruikt de volgende getallen: 0, 1, 2, 3, 4, 5, 6, 7, 8 en 9. In het dagelijks leven wordt hoofdzakelijk alleen het decimale stelsel gebruikt. Waarschijnlijk gebruiken we het decimale stelsel omdat we dit vroeger zo op school geleerd hebben en tien vingers hebben.
tweetallig stelsel - binair stelsel:
Een computer kan niet nadenken en daarom werken computers met het binaire systeem. Het binaire systeem (of wel het tweetallige getalssysteem) kent maar twee cijfers; 0 en 1. Ofwel UIT en AAN.
De waarde 0 of 1 noemen we een bit (binairy digit).
Als we meerdere bits achter elkaar zetten krijgen we een bitreeks.
Daarbij heeft het meest linkse bit de grootste decimale waarde (MSB: most significant bit, ook wel high-order bit genoemd).
Het meest rechtse bit heeft daarbij de laagste decimale waarde (LSB: least significant bit, ook wel right-most bit genoemd).
Als voorbeeld kijken we naar de bitreeks 1010;
Het meest rechtse bit (LSB), cijfer 0, heeft de laagste decimale waarde. Het meest linkse bit (MSB), het cijfer 1, heeft de grootste decimale waarde.
Als we van rechts naar links 'lezen' worden de bit-waarden als volgt berekend:
1e bit: decimaal 1 (2^0, nul maal het getal 2, maar binair gezien is dit 1)
2e bit: decimaal 2 (2^1, één maal het getal 2)
3e bit: decimaal 4 (2^2, twee maal het getal 2; 2x2)
4e bit: decimaal 8 (2^3, drie maal het getal 2; 2x2x2)
Als een bit een '1' is, wordt de decimale waarde genoteerd. Als de bitwaarde '0' is, wordt decimaal '0' genoteerd.
We pakken de bitreeks 1010 er weer bij en gaan dit met de voorgaande informatie verwerken in een tabel:
MSB | LSB | |||
binair | 1 | 0 | 1 | 0 |
waarde | 2^3 8 |
2^2 4 |
2^1 2 |
2^0 1 |
decimaal | 8 | 0 | 2 | 0 |
Door nu de decimale waarden bij elkaar op te tellen krijgen we de decimale waarde van het binaire getal 1010;
8 + 0 + 2 + 0 = 10
Nog een voorbeeld met bitreeks 011011:
MSB | LSB | |||||
binair | 0 | 1 | 1 | 0 | 1 | 1 |
waarde | 2^5 32 |
2^4 16 |
2^3 8 |
2^2 4 |
2^1 2 |
2^0 1 |
decimaal | 0 | 16 | 8 | 0 | 2 | 1 |
Door nu weer de decimale waarden bij elkaar op te tellen krijgen we de decimale waarde van het binaire getal 011011;
0 + 16 + 8 + 0 + 2 + 1 = 27
Uit het tweede voorbeeld blijkt dat je zonder probleem de eerste, meest linkse, binaire '0' (voorloop-nul) kan weglaten. Dit is een goed gebruik.
achttallig stelsel - octaal stelsel:
Het octale stelsel heeft 8 als grondgetal en dus ook 8 cijfers om mee te rekenen: 0, 1, 2, 3, 4, 5, 6 en 7.
voor 8 (decimaal) schrijft men 10 (ofwel 1 x 8^1 + 0 x 8^0)
voor 9 (decimaal) schrijft men 11 (ofwel 1 x 8^1 + 1 x 8^0)
voor 16 (decimaal) schrijft men 20 (ofwel 2 x 8^1 + 0 x 8^0)
enz.
Het octale stelsel is vooral in de beginjaren van de computer in zwang geweest om binaire gegevens overzichtelijker weer te geven. Omdat de huidige computers vrijwel altijd rekenen met even aantallen bits is de toepassing het octale stelsel (groepering in 3 bits) in de praktijk niet meer zo handig, en wordt bij representatie van binaire gegevens meestal hexadecimale notatie toegepast (16-tallig, groepering van 4 bits).
zestientallig stelsel - hexadecimaal stelsel:
Het hexadecimale stelsel heeft 16 als grondgetal en dus ook 16 cijfers om mee te rekenen: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E én F.
De getallen 0 t/m 9 hebben de corresponderende decimale waarde. Voor de letters A t/m F gelden de volgende decimale waardes:
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
In deze context zijn dat dus ook cijfers, geen letters. In de computerwereld wordt de hexadecimale voorstelling van getallen veel gebruikt, omdat deze manier van representeren goed aansluit bij de binaire representatie in de computer.
Het woord 'hexadecimaal' wordt vaak afgekort als hex.
Vergelijkingstabel decimaal, binair, octaal en hexadecimaal :
Decimaal | Binair | Octaal | Hexadecimaal |
0 | 0000 | 00 | 0 |
1 | 0001 | 01 | 1 |
2 | 0010 | 02 | 2 |
3 | 0011 | 03 | 3 |
4 | 0100 | 04 | 4 |
5 | 0101 | 05 | 5 |
6 | 0110 | 06 | 6 |
7 | 0111 | 07 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |