Konvertiere eine Binärzahl, die als String dargestellt ist (z. B. '101010'), nach den grundlegenden Prinzipien in ihren dezimalen Gegenwert.
Implementiere die Umrechnung von Binär nach Dezimal. Bei einem binären String als Eingabe soll dein Programm eine Dezimalzahl als Ausgabe liefern. Das Programm soll ungültige Eingaben behandeln.
Das Dezimalsystem ist ein System zur Basis 10.
Eine Zahl wie 23 in der Schreibweise zur Basis 10 lässt sich als Linearkombination von Zehnerpotenzen auffassen:
Also: 23 => 2*10^1 + 3*10^0 => 2*10 + 3*1 = 23 base 10
Binär funktioniert ähnlich, verwendet aber Zweierpotenzen statt Zehnerpotenzen.
Also: 101 => 1*2^2 + 0*2^1 + 1*2^0 => 1*4 + 0*2 + 1*1 => 4 + 1 => 5 base 10.
| Register | Verwendung | Typ | Beschreibung |
|---|---|---|---|
$a0 |
Eingabe | Adresse | null-terminierter String aus Binärzeichen |
$v0 |
Ausgabe | Ganzzahl | Dezimalwert des Eingabe-Strings |
$t0-9 |
temporär | beliebig | dient zur temporären Speicherung |
Melde dich bei Exercism an, um MIPS Assembly mit 70 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.