Wiskunde/Talstelsels

Inhoudsopgave Wiskunde
Hoofdstukken
  1. Algebra
  2. Getallen
  3. Meetkunde
  4. Oppervlakte
  5. Pythagoras
  6. Rekenkunde
  7. Talstelsels
  8. Vergelijkingen en ongelijkheden
  9. Volume

Inleiding

bewerken

Welke van de volgende rekensommen zijn juist?

1 + 1 = 10
1 + 7 = 10
1 + 9 = 10
1 + F = 10
10 + 3 = 1
I + IV = V
10 + 350 = 0

Mocht je dit voorleggen aan een willekeurig persoon, dan bestaat de kans dat hij of zij zal aangeven dat enkel de derde juist is. Nochtans kunnen ze allemaal juist zijn, mits voldoende uitleg gegeven wordt over het soort talstelsel dat gebruikt wordt. In onze (westerse) wereld werken wij echter graag met machten van tien, in ons decimaal talstelsel. Het is ook logisch, want we hebben tien vingers.

1 + 1 = 10, is juist in het binair talstelsel. Decimaal gezien staat er nl. 1 + 1 = 2.
1 + 7 = 10, is juist in het octaal talstelsel. Decimaal gezien staat er nl. 1 + 7 = 8.
1 + 9 = 10, is juist in het decimaal talstelsel.
1 + F = 10, is juist in het hexadecimaal talstelsel. Decimaal gezien staat er nl. 1 + 15 = 16.
10 + 3 = 1, is juist bij uren. Als het nu 10 uur is en je telt er 3 uur bij, is het inderdaad 1 uur.
I + IV = V, is juist bij Romeinse cijfers. Decimaal gezien staat er nl. 1 + 4 = 5.
10 + 350 = 0, is juist bij hoeken in graden: 10 + 350 = 360°. Dan ben je terug bij het begin, dus 0°. 

Zonder het te weten, gebruik je standaard al een talstelsel bij het rekenen: het decimale talstelsel. Maar hoe zit het dan met de andere talstelsels? Dit stuk gaat over het gebruik van verschillende positiestelsels en hoe je kunt omrekenen van het ene naar het andere. Het gaat dus niet over Romeinse cijfers, uren of hoeken. Uren en hoeken gaan zelfs niet zozeer over talstelsels, maar over modulair rekenen (noodzakelijk bij bv. RSA en cryptografie). Voor de toepassingen van talstelsels in de informatica is een apart Wikibook voorzien.

Leesbaarheidsregels

bewerken

Om in dit hoofdstuk geen verwarring te krijgen tussen de verschillende talstelsels, worden alle getallen op de plek waar het niet uit de context opgemaakt kan worden, gevolgd door het grondtal van hun talstelsel tussen (). Zo staat 10(10) voor het getal 10 in het decimale stelsel en 10(2) voor het getal 2 (eigenlijk: 2(10)), weergegeven in het binaire stelsel. In het hexadecimale stelsel is het getal 10 (10(16)) het getal 16 in het decimale stelsel (16(10)).

Verder is het gebruikelijk om, wanneer je een getal binair opschrijft, de cijfers te groeperen per 4 of per 8, om de leesbaarheid te bevorderen. In dit hoofdstuk worden ze gegroepeerd per 4.

Voorbeelden

bewerken

Hoe "werkt" zo'n positiestelsel precies? Hoeveel kruisjes staan hier: XXXX? Dat zijn er vier. Normaal zal men dit aantal noteren als 4. Ook een IT'er die het hexadecimale stelsel gebruikt, schrijft voor dit aantal 4. Een computer daarentegen noteert in het binaire stelsel het aantal vier als 100? Het volgende aantal kruisjes, XXXXXXXXXXXXXXXX, is zestien. Dit aantal schrijft men gewoonlijk als 16, een IT'er in het hexadecimale stelsel echter als 10 en een computer schrijft 10000 in het binaire stelsel. Laten we dit eens bekijken aan de hand van enkele voorbeelden, om dan de algemene regels te presenteren.[1]

Het decimale talstelsel

bewerken

Het decimale talstelsel is het meest gebruikte talstelsel. Dit talstelsel gebruikt tien (deca = tien) cijfers. Deze zijn:

0 1 2 3 4 5 6 7 8 9

Iedereen zal hieronder drieëntwintig kruisjes zien staan, genoteerd als 23. Een computer schrijft in het binaire stelsel hiervoor 10111.

XXXXXXXXXXXXXXXXXXXXXXX

Dat er 23 kruisjes staan, is gewoon een kwestie van tellen. Maar waarom schrijft men hiervoor in het decimale stelsel 23? Tijd dus voor een uitgebreide uitleg. Het tellen gebeurt zoals in een "ouderwetse" kilometerteller in de wagen of met een ouderwets kliksysteem zoals voor het tellen van bv. het aantal personen die ergens passeren:

Het telraam telt maar 100 kralen, maar toch kan men veel grotere getallen voorstellen. Dan wordt de eerste rij gebruikt voor het tellen van eenheden, de tweede rij voor tientallen, de derde rij voor honderdtallen,... Het getal op het telraam is dan niet 19, maar 1981.

Laten we de eerste negen kruisjes tellen.

Telvoorbeeld:

dec kruisjes
  0 
  1 X
  2 XX
  3 XXX
  4 XXXX
  5 XXXXX
  6 XXXXXX
  7 XXXXXXX
  8 XXXXXXXX
  9 XXXXXXXXX

Tot nu toe kunnen we de aantallen kruisjes met één symbool (cijfer) aangeven. Maar bij de volgende zitten we met een probleem: in het decimale talstelsel hebben we namelijk niet één symbool om het volgende kruisje voor te stellen. We weten echter dat we verder kunnen tellen met:

dec kruisjes
 10 XXXXXXXXXX
 11 XXXXXXXXXX X
 12 XXXXXXXXXX XX
 ...
 19 XXXXXXXXXX XXXXXXXXX

De reden dat dit "werkt" is omdat het decimaal talstelsel een positiestelsel is. Zo zijn 12 en 21 opgebouwd uit dezelfde cijfers - nl. '1' en '2' - maar zijn 12 en 21 toch niet dezelfde getallen. De '1' bij 12 is een tiental, wat betekent dat we al één groep van 10 kruisjes hebben. Bij '21' is het tiental een '2', wat betekent dat we al twee groepen van 10 kruisjes hebben.

Als we bij ons voorbeeld 19 één kruisje erbij plaatsen, hebben we een extra groep van tien kruisjes, bij de groep die we al hadden. We hebben dus twee groepen van tien kruisjes, wat we aangeven met 20. Zo kunnen we terug verder tellen:

dec kruisjes
 20 XXXXXXXXXX XXXXXXXXXX
 21 XXXXXXXXXX XXXXXXXXXX X
 22 XXXXXXXXXX XXXXXXXXXX XX
 23 XXXXXXXXXX XXXXXXXXXX XXX

Dit tellen kunnen we verder doen tot bv. 99, wat betekent dat we 9 groepen van 10 kruisjes en een restgroepje van 9 kruisjes hebben. Als we er nu één kruisje bijplaatsen, hebben we 10 groepen van elk 10 kruisjes. Dit stellen we dan voor door het getal 100.

Het getal 162 betekent dan 1 groep van 10 keer 10 "kruisjes" (dus 10²) , 6 groepen van 10 "kruisjes" en 1 restgroep van 2 kruisjes. Of in formulevorm:

 

Het binaire talstelsel

bewerken

Het binaire talstelsel wordt bijna niet gebruikt door de mens. De hedendaagse computers werken bijna allemaal met binaire getallen: elektriciteit of geen elektriciteit, licht of geen licht,... Dit talstelsel gebruikt slechts twee (bi = twee) cijfers:

0 1

We kunnen dezelfde methode gebruiken zoals bij het decimale talstelsel, namelijk door het tellen van kruisjes:

 
Dit is een binair telwerk. Elk wieltje - voor zover men nog van wieltjes kan spreken - heeft slechts twee posities. Er zijn dan ook geen cijfers boven en onder het afleesvenster te zien.
dec  bin  kruisjes
  0    0 
  1    1  X

Je zou geneigd zijn om '2' te noteren bij XX, maar het cijfer '2' is geen geldig cijfer in het binaire talstelsel. We merken echter op dat we één groep van twee X-en hebben. Bij het tellen van XX schrijven we binair dan ook 10. Vandaar ook de uitdrukking Er zijn 10 soorten mensen: diegene die binair begrijpen en diegene die dat niet kunnen. Zo kunnen we verdertellen:

dec  bin  kruisjes
  2   10  XX
  3   11  XX X

Als we nu een kruisje toevoegen t.e.m. XXXX, dan merken we dat we één groep van twee keer twee kruisjes hebben. Dit klinkt in woorden nogal ingewikkeld, maar als getal is dit het binaire getal 100:

dec  bin  kruisjes
  4  100  XX XX
  5  101  XX XX X
  6  110  XX XX XX
  7  111  XX XX XX X
  8 1000  XX XX XX XX
  9 1001  XX XX XX XX X
 10 1010  XX XX XX XX XX
 11 1011  XX XX XX XX XX X
...

Het binaire getal 101 betekent dan 1 groep van 2 keer 2 "kruisjes" (dus 22), 0 groepen van 2 "kruisjes" en 1 restgroep van 1 kruisje. Of in formulevorm:  . Dus 101(2) = 5(10).

Het octale talstelsel

bewerken

Het octale talstelsel wordt bijna niet meer gebruikt. Dit talstelsel gebruikt acht (octo = acht) cijfers:

0 1 2 3 4 5 6 7

Telvoorbeeld:

dec  oct  kruisjes
  0    0 
  1    1  X
  2    2  XX
  3    3  XXX
  4    4  XXXX
  5    5  XXXXX
  6    6  XXXXXX
  7    7  XXXXXXX
  8   10  XXXXXXXX
  9   11  XXXXXXXX X
 10   12  XXXXXXXX XX
 11   13  XXXXXXXX XXX
 12   14  XXXXXXXX XXXX
 ...
 15   17  XXXXXXXX XXXXXXX
 16   20  XXXXXXXX XXXXXXXX
 17   21  XXXXXXXX XXXXXXXX X
 18   22  XXXXXXXX XXXXXXXX XX

Het hexadecimale talstelsel

bewerken

Men zocht naar een manier om met één symbool verder te kunnen tellen dan 9. Zo besloot men voor het hexadecimale talstelsel om verder te tellen met de letters A, B, C, D, E en F. Binnen het hexadecimale talstelsel zijn de letters A t/m F dus cijfers. De volledige lijst van de 16 (hexadeca = 16) cijfers is dus (van klein naar groot):

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

Opnieuw kunnen we het tellen als basis gebruiken:

 
Een hexadecimale teller, waar je de volgende en de vorige cijfers ziet.
dec hex kruisjes
  0   0 
  1   1 X
  2   2 XX
  ...
  9   9 XXXXXXXXX

Nu zijn we geneigd om 10 te plaatsen bij XXXXXXXXX, maar als we hetzelfde principe gebruiken zoals bij de andere talstelsels, dan betekent de '1' van '10' dat we al één groep van 16 kruisjes hebben. De decimale 10 kunnen we hier dus niet gebruiken. Als we kijken bij de gebruikte "cijfers" van het hexadecimale talstelsel, dan merken we dat na de '9' een 'A' komt. We kunnen dus verder tellen met:

dec hex kruisjes
 10   A XXXXXXXXXX
 11   B XXXXXXXXXXX
 12   C XXXXXXXXXXXX
 13   D XXXXXXXXXXXXX
 14   E XXXXXXXXXXXXXX
 15   F XXXXXXXXXXXXXXX

Pas nu zijn we op het moment gekomen dat we een groep van 16 kruisjes zullen kunnen maken:

dec hex kruisjes
 16  10 XXXXXXXXXXXXXXXX
 17  11 XXXXXXXXXXXXXXXX X
 18  12 XXXXXXXXXXXXXXXX XX
 ...
 26  1A XXXXXXXXXXXXXXXX XXXXXXXXXX
 27  1B XXXXXXXXXXXXXXXX XXXXXXXXXXX
 ...
 32  20 XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
 33  21 XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX X

Het hexadecimale getal 1A2 betekent dan 1 groep van 16 keer 16 "kruisjes" (dus 162) , 10 (=A) groepen van 16 "kruisjes" en 1 restgroep van 2 kruisjes. Of in formulevorm:  . Dus 1A2(16) = 418(10).

Overzicht

bewerken

Een overzicht van de bekendste talstelsels:

dec    bin oct hex kruisjes
  0      0   0   0 
  1      1   1   1 X
  2     10   2   2 XX
  3     11   3   3 XXX
  4    100   4   4 XXXX
  5    101   5   5 XXXXX
  6    110   6   6 XXXXXX
  7    111   7   7 XXXXXXX
  8   1000  10   8 XXXXXXXX
  9   1001  11   9 XXXXXXXXX
 10   1010  12   A XXXXXXXXXX
 11   1011  13   B XXXXXXXXXXX
 12   1100  14   C XXXXXXXXXXXX
 13   1101  15   D XXXXXXXXXXXXX
 14   1110  16   E XXXXXXXXXXXXXX
 15   1111  17   F XXXXXXXXXXXXXXX
 16  10000  20  10 XXXXXXXXXXXXXXXX
 17  10001  21  11 XXXXXXXXXXXXXXXXX
 18  10010  22  12 XXXXXXXXXXXXXXXXXX
 ...        
 30  11110  36  1E XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 31  11111  37  1F XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 32 100000  40  20 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
 33 100001  41  21 XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Wat zijn talstelsels?

bewerken

Een talstelsel is een systeem om getallen weer te geven in de vorm van een rij cijfers. Bij de eerder besproken talstelsels bepaalt de plaats die een cijfer in de rij inneemt hoe we de bijdrage van dat cijfer aan het getal moeten interpreteren. We spreken dan ook over positiestelsels. Alhoewel de benaming 'decimaal talstelsel' gebruikelijk is, zou 'decimaal positiestelsel' duidelijker uitleggen dat we specifiek met een positiestelsel te maken hebben.

Merk op dat alle positiestelsels talstelsels zijn, maar niet alle talstelsels zijn positiestelsels. Zo is de waarde van I in het Romeinse getal IV '1', maar zo ook in het Romeinse getal VI. Dit is niet zo voor het decimale getal 21 versus 12: bij het tweede getal heeft '1' namelijk de waarde van '10'.

Merk op:

  • Er kunnen nullen vóór het daadwerkelijke getal staan zonder de waarde ervan te beïnvloeden. Zo is 1 hetzelfde als 01 en 001. Bij het decimale talstelsel is het heel ongebruikelijk om voorloopnullen te laten staan, in de andere talstelsels wordt dit soms wel gedaan (bv. bij ASCII of Wireshark).
  • Alle talstelsels hebben een nul (0).
  • Het grootste cijfer in een talstelsel is (grondtal - 1), omdat de nul ook meetelt als cijfer. Zo is het grootste cijfer in het decimale stelsel een 9 (decem = 10), in het octale stelsel een 7 (octo = 8) en in het binaire stelsel een 1 (bi = 2). De mogelijke cijfers komen dus altijd uit de reeks 0, 1,..., grondtal-1.

Omrekenen

bewerken

Om van het ene talstelsel om te rekenen naar het andere, zijn er een aantal methoden.

Van een ander stelsel naar het decimale stelsel

bewerken

Algemeen

bewerken

Een natuurlijk getal x laat zich in het decimale positiestelsel uitdrukken als een reeks van termen van machten van een ander natuurlijk getal, het grondtal, a:

 

of

 

waarbij de coëfficiënten xi natuurlijke getallen zijn kleiner dan het grondtal, of nul.

In het a-tallige stelsel wordt x nu voorgesteld door de rij cijfers:

 .

De coëfficiënten xi vormen in volgorde de cijfers van het getal. Het meest linkse cijfer xk is de coëfficiënt van de hoogste macht van het grondtal, het meest rechtse x0 de coëfficiënt van de eenheden (de 0-de macht van het grondtal).

Bovenstaande formules zien er ingewikkeld uit, maar met een voorbeeld wordt alles duidelijker:

  • Het decimale getal 1432 wordt met bovenstaande formule:  
  • In het octale stelsel, dus met grondtal 8, gebruikt men de cijfers 0, 1, ..., 7. Het getal 1432 in het octale stelsel betekent in het decimale stelsel:  . Dus 1432(8)=794(10).

472(8) = ?(10)

bewerken

Als voorbeeld hier het omrekenen van het octale getal 472(8) naar een decimaal getal. We nemen de volgende stappen:

  1. Voor het bepalen van de positie tellen we vanaf 0 en niet vanaf 1.
  2. Bepaal voor elke positie het gewicht als het grondtal tot de macht de positie. Bij positie 2 is het gewicht dus 82=64.
  3. Reken voor elk cijfer de bijdrage uit door het cijfer te vermenigvuldigen met het gewicht. Bij cijfer 4 is de bijdrage dus 4 * 64 = 256.
  4. Tel de bijdragen van de cijfers bij elkaar op.

De uitwerking is dus als volgt: het getal is 472(8)

 

Het resultaat is :

 

Dus 472(8) = 314(10). Merk op dat in bovenstaande uitwerking alles aan de rechterkant in het decimale talstelsel wordt uitgerekend.

472(8) = ?(10), met computeralgoritme

bewerken

Bovenstaande methode wordt als mens vaak gebruikt, maar mocht je dit in een programma wensen te gieten, kan onderstaand recursief algoritme van pas komen:

  1. 'variabelen instellen
  2. in = inlezen getal
  3. grondtal = inlezen grondtal
  4. uit = meest linkse getal van in
  5. in = in, zonder meest linkse getal

  6. 'lus
  7. uit = uit * grondtal
  8. getal = meest linkse getal van in
  9. uit = uit + getal
  10. in = in, zonder meest linkse getal. Als 'in' niet leeg, naar stap 8

  11. 'antwoord
  12. output uit.

Voor het bovenstaande voorbeeld wordt dit:

  1. in = 472
  2. grondtal = 8
  3. uit = 4
  4. in = 72

  5. uit = 4 * 8 = 32
  6. getal = 7
  7. uit = 32 + 7 = 39
  8. in = 2

  9. uit = 39 * 8 = 312
  10. getal = 2
  11. uit = 312 + 2 = 314
  12. in = STOP

  13. Het antwoord is 314

Van het decimale stelsel naar een ander stelsel

bewerken

Het omrekenen van het decimale stelsel naar een ander stelsel is een stukje ingewikkelder. Het is met makkelijkst uit te leggen aan de hand van een voorbeeld.

23(10) = ?(2)

bewerken

Vanuit het tellen weten we al dat de basis van het binaire stelsel neerkomt op het maken van groepjes van twee. Dit kunnen we makkelijkst bepalen met de Euclidische deling.

 D / G =  Q R      Uitleg           Q                                 R
--------------------------------------------------------------------------------------
23 / 2 = 11 1  ^   23 = 11 * 2 + 1  XX XX XX XX XX XX XX XX XX XX XX  X
11 / 2 =  5 1 /|\  11 =  5 * 2 + 1  XXXX XXXX XXXX XXXX XXXX          XX
 5 / 2 =  2 1  |    5 =  2 * 2 + 1  XXXXXXXX XXXXXXXX                 XXXX 
 2 / 2 =  1 0  |    2 =  1 * 2 + 0  XXXXXXXXXXXXXXXX
 1 / 2 =  0 1  |    1 =  0 * 2 + 1                                    XXXXXXXXXXXXXXXX

Uitleg:

  1. Blijkbaar kunnen we 11 groepen van 2 maken en hebben we 1 restgroep X.
  2. Bij de volgende stap proberen we te kijken hoeveel XX-groepjes we per twee kunnen samennemen. Blijkbaar kunnen we 10 XX-en samennemen tot 5 XXXX-en, waarbij er 1 restgroep XX is.
  3. Dit algoritme herhalen we: ditmaal kunnen we 4 XXXX-en samennemen tot 2 XXXXXXXX-en, met 1 restgroep XXXX.
  4. Bij de vierde stap kunnen we de XXXXXXXX en XXXXXXXX samennemen tot XXXXXXXXXXXXXXXX en hebben we geen restgroep.
  5. De vijfde stap wordt al eens over het hoofd gezien, maar we moeten blijven verderdelen tot het quotiënt 0 wordt. Daar we niets meer kunnen samennemen hebben we nu 1 restgroep XXXXXXXXXXXXXXXX.
  6. Voor het bepalen van het antwoord moeten we van beneden naar boven lezen en krijgen we: 23(10)=10111(2)

1203(10) = ?(16)

bewerken

Stel, we willen 1203(10) omzetten naar hexadecimaal. Hiervoor kunnen we hetzelfde algoritme gebruiken als het vorige voorbeeld. Het enige verschil is dat het grondtal (deler) ditmaal 16 is, maar ook hier blijven we delen tot we als quotiënt 0 uitkomen. De kruisjes worden deze keer achterwege gelaten, omdat er teveel zijn:

   D /  G =  Q  R      Uitleg            
-------------------------------------------
1203 / 16 = 75  3  ^   1203 = 75 * 16 + 3  
  75 / 16 =  4 11 /|\    75 =  4 * 16 + 11 
   4 / 16 =  0  4  |      4 =  0 * 16 + 4  

Merk op:

  1. Delen door 2 kunnen we gemakkelijk uit het hoofd, maar delen door 16 is moeilijker. Een klassiek rekentoestel kan een hulpmiddel zijn, maar rekent meestal niet Euclidisch. Toch kan je snel rekenen met: 1203 / 16 = 75,1875 ==> 75,1875 - 75 = 0,1875 ==> 0,1875 * 16 = 3.
  2. Opnieuw moet je van beneden naar boven aflezen, maar 4113 zou een fout antwoord zijn, want 4113(16) = 16659(10). De '11' moeten we namelijk eerst omzetten naar een hexadecimaal "cijfer": 11(10) == B(16).
  3. Het antwoord wordt dan: 1203(10) == 4B3(16)

Shortcuts

bewerken

Om van het ene stelsel naar het andere om te rekenen, wordt vaak als tussenkomst het decimale stelsel gebruikt. Wil men van octaal naar hexadecimaal, dan is het vaak octaal -> decimaal -> hexadecimaal. Dit vergroot de kans op rekenfouten aanzienlijk. Er zijn echter handigheidjes om van binair naar hexadecimaal om te rekenen (en vice versa) of van binair naar octaal om te rekenen (en vice versa).

De truc zit er hem in, dat een groep van 4 cijfers in het binaire stelsel, precies één cijfer in het hexadecimale stelsel heeft. Of dat een groep van 3 cijfers in het binaire stelsel, precies één cijfer in het octale stelsel heeft Zolang je onderstaande tabel in gedachten houdt, kun je elke kant op omrekenen.

   bin  hex      bin  oct   
  0000    0      000    0
  0001    1      001    1
  0010    2      010    2
  0011    3      011    3
  0100    4      100    4
  0101    5      101    5
  0110    6      110    6
  0111    7      111    7
  1000    8
  1001    9
  1010    A
  1011    B
  1100    C
  1101    D
  1110    E
  1111    F

Hexadecimaal <-> binair

bewerken

Wil je weten wat 30F2(16) is in binair? Neem elk getal apart en schrijf deze op:

hex     3     0    F    2
bin  0011  0000 1111 0010

Conclusie: 30F2(16) = 0011 0000 1111 0010(2).

De andere kant op werkt net zo gemakkelijk. Wil je weten wat 11000011110010(2) is in hexadecimaal?

Groepeer eerst het binaire getal per 4 cijfers, beginnend aan de rechterkant.

bin 11 0000 1111 0010

Is er op het eind geen groep van 4, dan kun je hier nullen aan toevoegen.

bin 0011 0000 1111 0010

Nu kun je per groep kijken welke cijfer er bij hoort

bin 0011 0000 1111 0010
hex    3    0    F    2

Conclusie: 11000011110010(2) = 30F2(16).

Octaal <-> binair

bewerken

De omzetting octaal naar binair (en omgekeerd) is net zo gemakkelijk. Binnen deze cursus gaan we daar niet verder op in.

Decimaal <-> binair

bewerken

De "shortcut" omzetting van decimaal naar binair lukt niet! Dit omdat het grondtal 10 geen macht is van twee. Om één decimaal cijfer voor te stellen zijn 3 bits namelijk te weinig (daar kan je maximaal 7 en niet 9 mee voorstellen) en zijn 4 bits te veel (daar kan je maximaal niet 9 mee voorstellen, maar 15).

Als je het toch probeert, krijg je fouten. Zo zou 74(10) met een shortcutomzetting waar vier bits worden gebruikt 0111 0100(2) = 01110100(2) worden, maar dat binaire getal is 116(10) (te bepalen via de somregel). Het juiste antwoord is 74(10)=1001010(2) (te bepalen via de Euclidische deling)!

Conclusie: de omzetting decimaal <-> binair mag NIET via een shortcut!

Samenvatting

bewerken

Voor het omrekenen tussen talstelsels zijn de volgende methoden gezien:

  • (...)? -> (...)10: de somregel
  • (...)10 -> (...)?: de Euclidische deling
  • (...)16 <-> (...)2: shortcut
  • (...)8 <-> (...)2: shortcut

Rekenmachines

bewerken

Bovenstaande manieren zijn handig om het principe van talstelsels te begrijpen, maar als je in de praktijk een omrekening te doen is het handiger om gebruik te maken van de mogelijkheden van je besturingssysteem. Zo bieden de rekenmachines van Windows of Gnome standaard de mogelijkheid om tussen talstelsels om te rekenen. Vaak moet je wel de modus van het rekentoestel veranderen.

 
Een rekentoestel onder Gnome, merk Bin Oct Dec en Hex op.

Oefeningen

bewerken

Als je het omrekenen van het ene naar het andere talstelsels wil inoefenen, dan kan je de volgende oefeningen uitproberen. Als controle kan je het rekentoestel gebruiken.

  1. 101011(2) = ?(10)
  2. 78A(16) = ?(10)
  3. 11000011110010(2) = ?(16)
  4. DEAD(16) = ?(2)
  5. 123(16) = ?(10)
  6. 123(10) = ?(2)
  7. 49233(10) = ?(16)
  8. 10101(10) = ?(16)
  9. 1110101(2) = ?(10)

 

  1. James May gebruikt hetzelfde idee in zijn filmpje What are binary numbers?
Deze pagina is vrijgegeven onder de GNU Free Documentation License (GFDL) en nog niet onder CC-BY-SA. Klik hier voor meer informatie.
Informatie afkomstig van https://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.