Module: Talstelsels

Module: Talstelsels

Talstelsels

Op de basisschool hebben we allemaal leren rekenen. Wij vinden het heel normaal dat het getal na 9 geschreven word als 10. Dit komt omdat we gewend zijn om te tellen en rekenen in het decimale talstelsel. Computers werken niet met dit stelsel maar met het binaire stelsel. Waar het decimale talstelsel 10 verschillende tekens heeft voor getallen (0,1,2,3,4,5,6,7,8 en 9) heeft het binaire stelsel er maar twee (0 en 1). Naast deze twee stelsels worden door programmeurs ook vaak hexadecimale (16 tekens) getallen gebruikt. Bij het hexadecimale stelsel lenen we de letters a t/m f om nog meer tekens te hebben. Een hexadecimaal getal kan dus de volgende tekens bevatten; 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e en f. De waarde 10 wordt dan ook in het hexadecimale stelsel geschreven als a.

Net als bij tellen in het decimale stelsel krijg je een nieuwe positie als de tekens op zijn. Na negen komt een-nul, oftewel 10. Binair tellen werkt hetzelfde 0, 1, 10, 11, 100, 101, 110, 111. Hieronder zie je een overzicht van de eerste 20 getallen in het decimale, binaire en hexadecimale stelsel.

Decimale stelsel Binaire stelsel Hexadecimale stelsel
0 0 0
1 1 1
2 10 2
3 11 3
4 100 4
5 101 5
6 110 6
7 111 7
8 1000 8
9 1001 9
10 1010 A
11 1011 B
12 1100 C
13 1101 D
14 1110 E
15 1111 F
16 10000 10
17 10001 11
18 10010 12
19 10011 13
20 10100 14

Omrekenen

Als je werkt met verschillende talstelsels is het wel zo handig dat je het ene talstelsel kunt omrekenen naar het andere. In dit hoofdstuk wordt beschreven hoe je de volgende omrekeningen kunt uitvoeren:

  • Binair omrekenen naar decimaal
  • Decimaal omrekenen naar binair
  • Hexadecimaal omrekenen naar decimaal
  • Decimaal omrekenen naar hexadecimaal

Binair omrekenen naar decimaal:

Om een binair getal handmatig naar het decimale stelsel te converteren volgen we de stappen hieronder.
Als voorbeeld gebruiken we 10111001.

Binair 1   0   1   1   1   0   0   1    
  x   x   x   x   x   x   x   x    
Machten van 2 128   64   32   16   8   4   2   1    
  =   =   =   =   =   =   =   =    
Decimaal 128 + 0 + 32 + 16 + 8 + 0 + 0 + 1 = 185

 

Decimaal omrekenen naar binair:

Om een decimaal getal handmatig naar het binaire stelsel te converteren volgen we de stappen hieronder.

  1. Deel het getal door 2
  2. Schrijf het restgetal op 1 of 0.
  3. Herhaal stap 1 en 2 tot de rest kleiner is dan 2.
  4. Schrijf de laatste rest op.

Als een voorbeeld gaan we het decimale getal 185 omrekenen naar het binaire stelsel.

  1. 185 / 2 → 92 rest 1,
  2. 92 / 2 → 46 rest 0,
  3. 46 / 2 → 23 rest 0,
  4. 23 / 2 → 11 rest 1,
  5. 11 / 2 → 5 rest 1,
  6. 5 / 2 → 2 rest 1,
  7. 2 / 2 → 1 rest 0,
  8. 1 / 2 → 0 rest 1,

Nu schrijven wij de resten op, we beginnen met de laatste. 1,0,1,1,1,0,0,1. Het decimale getal 185 is dus gelijk aan 10111001 in het binaire stelsel.

Hexadecimaal omrekenen naar decimaal:

Om een hexadecimaal getal handmatig naar het decimale stelsel te converteren volgen we de stappen hieronder.
Als voorbeeld gebruiken we EDC8.

Hexadecimaal E   D   C   8    
Decimaal 14   13   12   8    
  x   x   x   x    
Machten van 16 4096   256   16   1    
  =   =   =   =    
  57344 + 3328 + 192 + 8 = 60872

 

Decimaal omrekenen naar hexadecimaal:

Voor de volgende omrekening gebruiken we de volgende tabel:

Decimaal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Hexadecimaal 0 1 2 3 4 5 6 7 8 9 A B C D E F

 

Om een decimaal getal handmatig naar het hexadecimaal stelsel te converteren volgen we de stappen hieronder.

  1. Deel het getal door 16
  2. Schrijf het restgetal op.
  3. Herhaal stap 1 en 2 tot de rest kleiner is dan 16.
  4. Schrijf de laatste rest op.

Als een voorbeeld gaan we het decimale getal 2011 omrekenen naar het hexadecimale stelsel.

  1. 2011 / 16 → 125 rest 11,
  2. 125 / 16 →  7 rest 13,
  3. 7 / 16 → 0 rest 7

Nu schrijven wij de resten op, we beginnen met de laatste. 7, 13, 11. Uit de tabel lezen we af dat 7 is gelijk is aan 7, 13 gelijk is aan D en 11 gelijk is aan B. Het decimale getal 2011 is dus gelijk aan 7DB in het hexadecimale stelsel.

Diagnostische toets omrekenen

Toets: Diagnostische toets omrekenen

Start

Binair rekenen

Wij, mensen, rekenen in het decimaal stelsel. Computers doen dit niet. Om een computer in het decimale stelsel te laten rekenen zouden computers 10 staten van informatie moeten kennen, helaas kennen ze er maar 2, namelijk 1 of 0. Computers kennen nog een grote beperking, ze kunnen alleen maar optellen. Toch kunnen ze wel het verschil berekenen, verminigvuldigen en delen. In dit hoofdstuk leer je hoe een computer, en straks ook jij, binaire berekeningen kunt uitvoeren.

Optellen

Om getallen bij elkaar op te tellen hoef moet je een aantal regels volgen. De volgende tabel laat zien wat de mogelijke uitkomsten zijn van de optelacties:

0 + 0 = 0  
1 + 0 = 1  
0 + 1 = 1  
1 + 1 = 10 Je schrijft de 0 op en schuift de 1 door naar de volgede positie.

 

Als voorbeeld gaan we 1101 en 1111 bij elkaar optellen:

1. Schijf de getallen onder elkaar.

             
1101   1 1 0 1  
1111   1 1 1 1  
            +
             

2. Tel de laatste kolom op 1 + 1 = 10; je schrijft de nul op en schuift de 1 door.

        1    
1101   1 1 0 1  
1111   1 1 1 1  
            +
          0  

4. Tel de volgende kolom op 1 + 1  = 10; onthoud de 0 op en schuif de 1 door, daarna 0 + 1 = 1; schrijf de 1 op.

    1 1 1    
1101   1 1 0 1  
1111   1 1 1 1  
            +
      1 0 0  

5. Tel de volgende kolom op 1 + 1  = 10; onthoud de 0 op en schuif de 1 door, daarna 0 + 1 = 1; schrijf de 1 op.

  1 1 1 1    
1101   1 1 0 1  
1111   1 1 1 1  
            +
  1 1 1 0 0  

 

Aftrekken

Om twee getallen van elkaar af te trekken maakt de computer gebruik van Two's complement methode om negatieve getallen te maken. Aangezien een computer alleen kan optellen moeten we dus eerst een negatief getal maken. Laten we eerst even naar een decimaal voorbeeld kijken. We gaan de volgende berekeing uitvoeren: 11 - 5 = 6 . Hier staat eigelijk (+11) - (+5) = (+6), de plustekens schrijven we alleen nooit op. Deze aftreksom kunnen we ook schrijven als een optelsom. Hievoor moeten we eerst de +5 veranderen in -5. Als je dat doet dan krijg je: (+11) + (-5) = (+6). Nu gaan we dit toepassen in het binaire rekenen.
Laten we als voorbeeld de volgende berekening uitvoeren: 1111 - 101.  Eerst maken we van het positieve getal 101 een binair negatieve versie:

We starten hiermee door het getal even lang te maken als het getal waar het het van af wilt trekken, in dit geval een extra 0.

0 1 0 1

Daarna maken we van iedere 1 een 0 te maken en omgekeerd:

0 1 0 1
1 0 1 0

 

Tot slot tellen we er 1 bij op:

0 1 0 1
1 0 1 0
1 0 1 1

 

Nu hebben we het positieve 101 omgezet in een binair negatieve waarde 1011. Deze waarde kunnen we nu optellen:

    1    
1 1 1 1  
1 0 1 1  
        +
      0  

 

  1 1    
1 1 1 1  
1 0 1 1  
        +
    1 0  

 

1 1 1    
1 1 1 1  
1 0 1 1  
        +
  0 1 0  

 

1 1 1 1    
  1 1 1 1  
  1 0 1 1  
          +
1 1 0 1 0  

 

Omdat dit eigelijk een aftreksom maken we vervallen alle voorste tekens tot het reslutaat evenveel tekens heeft dan het langste begin getal. In dit geval vervalt de voorste 1.

1 1 1 1  
  1 0 1  
        -
1 0 1 0  

 

Nog een voorbeeld:
110100 - 110 = ?

Omzetten naar negatief:

0 0 0 1 1 0 Aanvullen
1 1 1 0 0 1 Omkeren
1 1 1 0 1 0 1 erbij tellen

Resultaat optellen en voorloop tekens verwijderen tot lengte langste getal:

  1            
  1 1 0 1 0 0  
  1 1 1 0 1 0  
              +
1 1 0 1 1 1 0  


Het antwoord is 110100 - 110 = 101110

Vermenigvuldigen

Binair vermenigvuldigen is een eenvoudig process. Het is niet meer dan verschuiven en optellen van de factor. Als voorbeeld gaan we de volgende som uitrekenen:   1110 x 1010 = ?

Zet de getallen onder elkaar:

1 1 1 0  
1 0 1 0  
        x

We starten nu van rechts naar links. Schrijf het bovenste getal over als er 1 staat en allemaal nullen als er een 0 staat. Het laatste teken van 1010 is een 0 dus allemaal nullen.

1 1 1 0  
1 0 1 0  
        x
0 0 0 0  

Het voorlaatste teken is een 1 dus schrijven we het getal en omdat we met het voorlaatste getal bezig zijn voegen we één extra nul toe aan het einde:

  1 1 1 0  
  1 0 1 0  
          x
  0 0 0 0  
1 1 1 0 0  

Het volgende getal is weer een 0, dus (vergeet te extra nullen niet):

    1 1 1 0  
    1 0 1 0  
            x
    0 0 0 0  
  1 1 1 0 0  
0 0 0 0 0 0  

Als laatste hebben we en 1, dus (met 3 extra nullen):

      1 1 1 0  
      1 0 1 0  
              x
      0 0 0 0  
    1 1 1 0 0  
  0 0 0 0 0 0  
1 1 1 0 0 0 0  

Tot slot tellen we alles op:

  1 1            
        0 0 0 0  
      1 1 1 0 0  
    0 0 0 0 0 0  
  1 1 1 0 0 0 0  
                +
1 0 0 0 1 1 0 0  

Het antwoord:

1110 x 1010 = 10001100

Delen

Delen op een comuter is lastig omdat een computer alleen kan optellen. Om toch te kunnen delen tellen we iedere keer de deler bij zichzelf op tot we het bij het deelgetal zijn. Daarna bepalen we de rest.

We starten met een decimaal voobeeld:

4 5 / 7 = 6r3
           
      7   (1)
      7 + (2)
    1 4    
      7 + (3)
    2 1    
      7 + (4)
    2 8    
      7 + (5)
    3 5    
      7 + (6)
    4 2    

Nu in binair:

1 0 1 1 0 1 / 1 1 1 = 110
                       
              1 1 1   (1)
              1 1 1 + (10)
            1 1 1 0    
              1 1 1 + (11)
          1 0 1 0 1    
              1 1 1 + (100)
          1 1 1 0 0    
              1 1 1 + (101)
        1 0 0 0 1 1    
              1 1 1 + (110)
        1 0 1 0 1 0    
              1 1 1 +  
        1 1 0 0 0 1   te veel

En de rest berekenen 101101-101010:

0 1 0 1 0 1 0 Aanvullen
1 0 1 0 1 0 1 Omkeren
1 0 1 0 1 1 0 1 erbij tellen

Optellen:

1 1 1 1 1        
    1 0 1 1 0 1  
  1 0 1 0 1 1 0  
                +
1 0 0 0 0 0 1 1  

Antwoord:

101101 / 111 = 101 r 11

 

 

Oefenen

Oefenen met omrekenen en binair rekenen

Diagnostische toets binair rekenen

Test: Diagnostische toets binair rekenen

Start

  • Het arrangement Module: Talstelsels is gemaakt met Wikiwijs van Kennisnet. Wikiwijs is hét onderwijsplatform waar je leermiddelen zoekt, maakt en deelt.

    Laatst gewijzigd
    2023-01-11 12:21:46
    Licentie

    Dit lesmateriaal is gepubliceerd onder de Creative Commons Naamsvermelding 4.0 Internationale licentie. Dit houdt in dat je onder de voorwaarde van naamsvermelding vrij bent om:

    • het werk te delen - te kopiëren, te verspreiden en door te geven via elk medium of bestandsformaat
    • het werk te bewerken - te remixen, te veranderen en afgeleide werken te maken
    • voor alle doeleinden, inclusief commerciële doeleinden.

    Meer informatie over de CC Naamsvermelding 4.0 Internationale licentie.

    Aanvullende informatie over dit lesmateriaal

    Van dit lesmateriaal is de volgende aanvullende informatie beschikbaar:

    Toelichting
    Module over het decimale, hexadecimale en binaire talstelsel.
    Eindgebruiker
    leerling/student
    Moeilijkheidsgraad
    gemiddeld

    Bronnen

    Bron Type
    Oefenen met omrekenen en binair rekenen
    https://edu.hethooghuis.nl/informatica/talstelsels/
    Link