Μετέτρεψε έναν τριαδικό αριθμό, που αναπαρίσταται ως συμβολοσειρά (π.χ. '102012'), στο δεκαδικό του ισοδύναμο χρησιμοποιώντας βασικές αρχές.
Το πρόγραμμα πρέπει να θεωρεί τις συμβολοσειρές που καθορίζουν ένα μη έγκυρο τριαδικό ως την τιμή 0.
Οι τριαδικοί αριθμοί περιέχουν τρία σύμβολα: 0, 1 και 2.
Η τελευταία θέση σε έναν τριαδικό αριθμό είναι η θέση του 1. Η προτελευταία είναι η θέση του 3, η τρίτη από το τέλος είναι η θέση του 9 κ.ο.κ.
# "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
Αν η γλώσσα σου παρέχει μια μέθοδο στην τυπική βιβλιοθήκη για να κάνει τη μετατροπή, κάνε πως δεν υπάρχει και υλοποίησέ τη μόνος σου.
| Καταχωρητής | Χρήση | Τύπος | Περιγραφή |
|---|---|---|---|
$a0 |
είσοδος | διεύθυνση | συμβολοσειρά τριαδικών χαρακτήρων τερματισμένη με null |
$v0 |
έξοδος | ακέραιος | δεκαδική τιμή της συμβολοσειράς εισόδου |
$t0-9 |
προσωρινός | οτιδήποτε | χρησιμοποιείται για προσωρινή αποθήκευση |
Γράψου στο Exercism για να μάθεις και να κατακτήσεις MIPS Assembly με 70 ασκήσεις και πραγματική καθοδήγηση από ανθρώπους, όλα δωρεάν.