Método para cambio de base
Lee también Herramienta para cambios de base
En esta página veremos un método para convertir números enteros y decimales a otra base. Te damos dos ejemplos sobre convertir a base 26. Este método también funcionará para otras bases.Por "base" nos referimos a cuántos números en un sistema numérico:
- El sistema numérico decimal que usamos todos los días tiene 10 dígitos {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, por lo que es Base 10
- Un dígito binario solo puede ser 0 o 1, por lo que es Base 2
- Un dígito hexadecimal puede ser {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}, por lo que es Base 16
- Y podemos usar letras {A, B, C, ..., X, Y, Z}, y obtenemos Base 26, que usaremos aquí
Cambio de base de números enteros
El cambio de base de números enteros es bastante fácil si usas divisiones con resto.
Empecemos con un ejemplo:
Convertir 1208 a base 26
(la base 26 es divertida porque usamos como cifras el alfabeto)
Para hacerlo más simple usaré A=1, B=2, etc. (como en las hojas de cálculo) y Z para el cero, pero también se usa a veces A=0, B=1, hasta Z=25 en base 26.
Mira estas divisiones (R significa residuo o resto, lo que dejamos de lado en la división):
1208 / 26 = 46 R 12 |
46 / 26 = 1 R 20 |
Ahora nos fijamos en la última respuesta (1 R 20), significa que 1208/26/26 = 1 (más algo pequeño), ¡así que tenemos que poner un "1" en la posición que vale "262"!
Después tenemos que poner 20 en la posición que vale "261", y para terminar ponemos 12 en las unidades.
¿Por qué?
Porque lo que las divisiones nos dicen es que:
1208 = 46 × 26 + 12
Así que 12 va en la posición de las unidades, y a partir de ahí seguimos
con la primera potencia de 26:
46 = 1 × 26 + 20 (así que el 20 va en la posición ×26, y ponemos el 1 en
la posición de la columna ×26×26)
262 | 261 | 1s |
---|---|---|
1 | 20 | 12 |
Y si sustituimos los números por letras, tenemos: ATL
Veamos si es correcto:
1 × 262 = | 676 |
+ 20 × 26 = | 520 |
+ 12 × 1 = | 12 |
TOTAL: | 1208 |
Así que para cambiar de base un número entero haces divisiones sucesivas y escribes los resultados de derecha a izquierda
Nota: si usas el sistema con A=0, entonces el código ATL se convierte en B__ (¡complétalo tú!)
¿Qué pasa después del punto decimal?
Si has entendido cómo hacerlo con números enteros, pasamos ahora a los "decimales" (hmmm... no es exacto llamarlos así porque eso es para base 10, pero así nos entendemos).
Cuando hay "decimales", hacemos multiplicaciones sucesivas y escribimos los resultados de izquierda a derecha.
Probemos con el número pi (redondeado a 3.1416), vamos a convertirlo a base 26. La parte entera es fácil, en base 26 es 3, ahora pasamos a la parte "decimal":
.1416 × 26 = 3.6816
.6816 × 26 = 17.7216
.7216 × 26 = 18.7616
etc...
La primera multiplicación nos dice que pongamos 3 en la primera posición "decimal", la segunda dice que pongamos 17 en la segunda, etc...
Entonces, la respuesta es:
3 | . | 3 | 17 | 18 | ... |
Y si ponemos letras en lugar de números tenemos: C.CQR
Para comprobar he calculado 3 + 3/26 + 17/26² + 18/26³ = 3.141556..., ¡y es bastante aproximado!
¡Refuerza tu aprendizaje resolviendo los siguientes retos sobre este tema! (Nota: están en inglés).