Converti un numero ternario, rappresentato come stringa (ad esempio '102012'), nel suo equivalente decimale, partendo dai principi di base.
Il programma deve considerare le stringhe che specificano un ternario non valido come il valore 0.
I numeri ternari contengono tre simboli: 0, 1 e 2.
L'ultima posizione in un numero ternario è quella dell'1. La penultima è quella del 3, la terzultima è quella del 9, e così via.
# "102012"
1 0 2 0 1 2 # the number
1*3^5 + 0*3^4 + 2*3^3 + 0*3^2 + 1*3^1 + 2*3^0 # the value
243 + 0 + 54 + 0 + 3 + 2 = 302
Se il linguaggio che usi fornisce un metodo nella libreria standard per eseguire la conversione, fai finta che non esista e implementa la conversione da solo.
| Registro | Utilizzo | Tipo | Descrizione |
|---|---|---|---|
$a0 |
input | indirizzo | stringa di caratteri ternari terminata da null |
$v0 |
output | numero intero | valore decimale della stringa di input |
$t0-9 |
temporaneo | qualsiasi | usato per l'archiviazione temporanea |
Iscriviti a Exercism per imparare e padroneggiare MIPS Assembly con 70 esercizi e il mentoring di persone reali, tutto gratis.