UTMANING: TALBAS

Det decimala systemet är ett positionssystem med bas 10 och siffrorna 0, 1, 2, 3, ..., 9. Talet 1209 kan i det som kallas för utvecklad form skrivas

1209 = 1∙10³ + 2∙10² + 0∙10¹ + 9∙10⁰

I det binära talsystemet används basen 2 och siffrorna 0 och 1. Talet 11101 i det binära talsystemet motsvarar talet 29 i det decimala systemet eftersom

11101 = 1∙2⁴ + 1∙2³ + 1∙2² + 0∙2¹ + 1∙2⁰ = 16 + 8 + 4 + 0 + 1 = 29

Alla tal kan skrivas i vilken talbas som helst. Exempelvis kan talet 1209 även skrivas i basen 7 som 3345 eftersom

1209 = 3∙7³ + 3∙7² + 4∙7¹ + 5∙7⁰

Skriv ett program som frågar efter en talbas och ett tal (skrivet i denna talbas), och som returnerar talet i basen 10.

När du testar - tänk på att:

Tal i basen 2 bara kan innehålla siffrorna 0 och 1

Tal i basen 3 bara kan innehålla siffrorna 0, 1 och 2

o.s.v.

Ett bra program hanterar om användaren skriver in icke godkända tal, men det är överkurs just nu ...

Testa sedan programmet med talet 56 skrivet i basen 7 och kontrollera att svaret blir 41.

Facit

Avslutande uppgift