Acabas de ser contratado como profesor de matemáticas. Tu primera semana fue bien, pero algo va mal en la segunda. El problema es que todas las respuestas que dan tus estudiantes son incorrectas. Por suerte, tus conocimientos de matemáticas te han permitido identificar el problema: las respuestas de tus estudiantes sí son correctas, ¡pero todas están en base 2 (binario)! Sorprendentemente, resulta que cada semana los estudiantes usan una base distinta. Para ayudarte a verificar rápidamente las respuestas de tus estudiantes, vas a crear una herramienta que traduzca entre bases.
Convierte una secuencia de dígitos en una base, que representa un número, en una secuencia de dígitos en otra base, que representa el mismo número.
Intenta implementar la conversión por tu cuenta. No uses otra cosa que haga la conversión por ti.
En la notación posicional, un número en base b puede entenderse como una combinación lineal de potencias de b.
El número 42, en base 10, significa:
(4 × 10¹) + (2 × 10⁰)
El número 101010, en base 2, significa:
(1 × 2⁵) + (0 × 2⁴) + (1 × 2³) + (0 × 2²) + (1 × 2¹) + (0 × 2⁰)
El número 1120, en base 3, significa:
(1 × 3³) + (1 × 3²) + (2 × 3¹) + (0 × 3⁰)
Sí. Esos tres números de arriba son exactamente el mismo. ¡Enhorabuena!
Este ejercicio no requiere que gestiones los desbordamientos.
Puedes suponer que convertir los digits de input_base a base 10 no desbordará un u32.
Regístrate en Exercism para aprender y dominar Zig con 104 ejercicios y mentoría humana real, todo gratis.