Zelf maken 6: Van binair naar decimaal

Maak een programma dat een binair getal als invoer vraagt, met maximaal 5 nullen en enen en zet het om naar zijn decimale equivalent

Maak eerst een stappenplan en zorg dat je het algoritme snapt

Stap 1

Ontdek hoe een decimaal getal opgebouwd is. Neem een laag getal: 13

Je werkt van rechts naar links en de exponent begint bij 0.

Het basisgetal is 10. Je krijgt dan: 13 = 3 * 100 + 1 * 101 = 3*1 + 1*10 = 13

Voor het getal 18 gaat het zo:18 = 8 *100 + 1*101 = 8 + 10 = 18

Stap 2

Zo werkt het ook met binaire getallen. Daar is het basisgetal geen 10, maar 2. Neem een binair getal: 1 0 0 1

Je werkt van rechts naar links en de exponent begint bij 0. Het basisgetal is 2.

Bv.: 1  0 1 1 = 1*20 + 1*21 + 0*22 + 1*23 = 1*1 + 1*2 + 0*4 + 1*8 = 11 (elf, decimaal)

Nu in Flowgorithm

  1. Bedenk dat een array bij plek 0 begint. Hier kun je handig gebruik van maken als je deze oefening maakt in Flowgorithm. Een getal begint bij 20
  2. Maak een nieuw programma aan in Flowgorithm
  3. Maak een array van 5 plekken: Je gaat een binair getal vragen aan de gebruiker van maximaal 5 enen en nullen
  4. Het decimale getal komt in een variabele: decimaal. Maak die en zet deze op 0
  5. Maak om de array te doorlopen een variabele i aan
  6. Vraag de gebruiker om een binair getal met maximaal 5 nullen en enen. Laat de gebruiker het binaire getal stapsgewijs geven van rechts naar links
  7. Zet de nullen en enen in een array in een FOR-loop.
  8. Test in de FOR-loop of de gebruiker een 0 of een 1 invoert. Als er een 0 ingevoerd wordt, hoog je de variabele decimaal op als volgt: decimaal = decimaal + 2i Op deze manier maak je gebruik van de genummerde plek in de array
  9. Zie voor een voorbeeld: ForLoopBinairNaarDecimaal.fprg