Van Decimaal naar Binair

Inleiding

Een computer bewaart gegevens volgens het binaire stelsel. Het binaire stelsel gebruikt enkel de symbolen 0 (schakelaar uit) en 1 (schakelaar aan) om gegevens voor te stellen. De symbolen 0 en 1 worden aangeduid met de term bit (een samentrekking van de binary digit). In de les Van Decimaal naar Binair ontwikkelen we een programma om een geheel getal uit het decimale stelsel om te zetten naar een binair getal.

Talstelsels

Het decimale stelsel

Het decimale stelsel (ook het tiendelig stelsel genoemd ) is gebaseerd op 10 symbolen (0, 1 ,2,…9). De positie van een bepaald symbool in het getal bepaalt de waarde in het getal. Het getal 324 bestaat uit 3 cijfers waarbij het cijfer 4 (positie 0) verwijst naar de eenheden (4*100=4), 2 verwijst naar de tientallen (positie 1) (2*101=20) en 3 naar de honderdtallen (positie 2) (3*102=300). De positie van het symbool in het getal (0, 1, 2) bepaalt dus de waarde van het symbool als macht van 10.

Het binaire stelsel

Het binaire stelsel gebruikt slechts 2 symbolen (0 en 1). Ook in het binaire stelsel is de positie van een symbool belangrijk om de juiste waarde te bepalen. In het binaire stelsel wordt de positie (0, 1, 2…) gebruikt als macht van het getal 2. De waarde van het binaire getal 101000100 kan dan als volgt worden berekend (van rechts naar links): 0*20 + 0*21 + 1*22 +0*23 + 0*24 + 0*25 + 1*26 + 0*27 + 1*28 = 4 + 64 + 256 = 324.

Van Decimaal naar het Binair: Algoritme

Hoe een decimaal getal omzetten naar een binair getal?

Het omzetten van een decimaal getal naar een binair getal kan gebeuren door herhaalde deling door 2 waarbij de restwaarde van elke deling steeds vooraan het binair getal wordt toegevoegd.

BewerkingBinair Getal
324 : 2 = 162 rest 00
162 : 2 = 81 rest 000
81 : 2 = 40 rest 1100
40 : 2 = 20 rest 00100
20 : 2 = 10 rest 000100
10 : 2 = 5 rest 0000100
5 : 2 = 2 rest 11000100
2 : 2 = 1 rest 001000100
1 : 2 = 0 rest 1101000100
Van Decimaal naar Binair

Variabelen

De benodigde variabelen kunnen gemakkelijk worden afgeleid vanuit bovenstaand voorbeeld. Het origineel getal (het getal 324) willen we bewaren in de variabele OrigineelGetal. Het quotiënt van een deling door 2 wordt opgeslagen in de variabele Quotient (het getal 162 na eerste deling) en de rest wordt bijgehouden in de variabele Rest(het getal 0 na eerste deling). Het binair getal bouwen we dan op in de variabele BinairGetal.

Algoritme

De conversie is volledig uitgevoerd als de variabele Quotient nul wordt. De pseudocode kan nu als volgt worden opgebouwd:

Maak BinairGetal leeg
Input OrigineelGetal
Plaats OrgineelGetal in Quotient
Repeat Until Quotient = 0
   Plaats de restwaarde van Quotient / 2 in de variabele Rest
   Voeg de variabele Rest vooraan toe aan BinairGetal
   Plaats de gehele waarde van Quotient / 2 in Quotient
End Repeat
Output BinairGetal

Van Decimaal naar Binair: Scratch-programma

De omzetting van de pseudocode naar een Scratch-programma levert weinig problemen op:

Van Decimaal naar Binair

De functie Beneden is te vinden in de categorie Functies als onderdeel van de functie absoluut. Onder de functie absoluut zijn meerdere andere functies beschikbaar. De functie beneden zal een kommagetal naar beneden afronden naar het dichtstbijzijnde geheel getal (bijvoorbeeld 5 gedeeld door 2 wordt 2.5. De functie beneden rondt het getal 2.5 af naar 2).

De voeg-functies lijken soms wat complex. De voeg-functie plakt steeds twee afzonderlijke gegevens aan elkaar. De instructie voeg plakt de bekomen restwaarde in de variabele Rest aan de voorlopige inhoud van de variabele BinairGetal.

Als we drie elementen willen samenvoegen dan moeten we gebruik maken van twee voeg-functies. Bestudeer even hoe het zeg-blok is samengesteld.