-
Notifications
You must be signed in to change notification settings - Fork 3
Conversión de Bases
Problema: dado una base de entrada, una base de salida, y un numero (en la base de entrada) se desea saber el equivalente a ese numero en la base de salida.
Ejemplos:
- Si base de entrada=2, base de salida=10 y numero=101;
Salida: El numero en base 10 es: 5
- Si base de entrada=10, base de salida=16 y numero=27;
Salida: El numero en base 16 es: 1b
- Si base de entrada=16, base de salida=8 y numero=2a;
Salida: El numero en base 8 es: 52
- Para pasar de base 10 a otra hay que dividir el numero por la base, concatenando los restos de derecha a izquierda.
- Para pasar de una base a base 10 hay que multiplicar de derecha a izquierda el numero por la base elevada a la "posición" del numero comenzando desde 0.
- Para pasar de una base a otra hay que pasar de la base de entrada a base 10 y luego de base 10 a base de salida
La función "convertir_base()" recibe como parámetros un numero, una base de entrada y una base de salida, dependiendo de la base de entrada y salida llama a la función "base_a_decimal()" o "decimal_a_base()" para realizar la conversión.
Si el numero ingresado no pertenese a la base de entrada se mostrara un error y la funcion **"base_a_decimal()"** retornara 0
Disponible en Enciclopedia Algoritmos C++, Conversión de Bases
Disponible en ejemplo conversión de bases
Complejidad: O(n)
Colaborador autor del artículo:
Algos - Proyecto Iniciado por la cátedra "Algoritmos y Estructuras de Datos" en Agosto de 2019 - UTN Santa Fe - Argentina.
Objetivo: Elaborar una enciclopedia de algoritmos codificados en C++, que resuelvan problemas habitualmente tratados en las asignaturas de Fundamentos de Programación, como herramienta complementaria al proceso de aprendizaje de los alumnos de la asignatura, y de los entusiastas de programación y de las competencias de programación como TecnoMate.