Libreria: Convertir Bases Numéricas Python3
Puedes encontrar la carpeta con todos los proyectos, librerías y ejemplo en Github, puedes clickear la imagen o el vinculo de la barra de menu:
Para contar y ordenar necesitamos los números, estos podemos
representarlos en bases numéricas, siendo la más utilizada la base decimal
(10).
Base decimal o base 10, significa que disponemos de 10 símbolos
para representar una cantidad, en este caso su rango de dígitos es del 0 al 9.
¿Y las computadoras que base numérica utilizan?
Binario, las computadoras solo son capaces de procesar la
base numérica 2, cuyos dígitos son solamente el 0 y el 1.
¿Las bases numéricas solo contienen números?
Solo algunas bases, a partir de la base 11, cuyo rango va de
0 a 10, sustituimos el 10 y los números mayores a este con caracteres del
alfabeto, comenzado por ‘A’. Por ejemplo, del 10 al 15 utilizaríamos A a la F.
¿Cuál es la mayor base alfanumérica?
No hay límite, podemos tener base 36 donde su rango va de 0
a Z.
¿Qué pasa con bases numéricas mayores a 36?
Debemos dejar de utilizar letras mayúsculas e incluir letras
minúsculas además de símbolos para representar los números, por ejemplo 102
decimal a base 64 = Bm.
Si seguimos subiendo, por ejemplo Base 256, nos quedaríamos cortos
de símbolos pues la tabla ASCII solo tiene 223 símbolos representables, por
ende deberíamos incluir letras griegas o cualquier otro tipo de símbolos para
completar.
¿Cómo convertir un número a otro de distinta base?
Utilizando el módulo de una división, en pocas palabras su
residuo.
Si tenemos el 10 decimal y lo queremos en octal (base 8)
utilizamos MOD (%).
13 % 8 = 5 -> Este es nuestro primer número base 8.
13 – 5 = 8 -> Restamos el modulo (residuo) al número
original
8 / 8 = 1 -> Este es nuestro nuevo número base 10, como
es mayor a 0 debemos seguir dividiendo y obteniendo el modulo.
1 % 8 = 1 -> Este es nuestro segundo número base 8.
1 – 1 = 0 -> Restamos el modulo (residuo) al número
original
0 / 0 = 0 -> El numero original es 0, no queda nada por
convertir por lo cual la operación terminó.
Nuestro número obtenido es 5 y 1, pero se debe leer de
derecha a izquierda, por lo tanto:
13 Base 10 = 15 Base 8
Librería en Python 3:
Puedes encontrar la librería ChibiBases en el proyecto de
Github, para ello descarga la librería “ChibiBases.py” e impórtala a tu
programa en Python (el archivo debe estar en la misma carpeta o deberas referenciar su ubicación en el disco).
import ChibiBases #
Importamos la librería
Ahora puedes acceder a sus funciones de conversión:
str ChibiBases.convertirdecimalabase(int Numero,int Base):
Esta función convierte un decimal en la base que se le pide.
Número y Base son de tipo int.
La función retorna el numero convertido a la base deseaba, en
formato string o cadena.
Ejemplo: ChibiBases.convertirdecimalabase(124, 36)) Retorna “3G”
int ChibiBases.convertirbaseadecimal(str Numero, int Base):
Esta función convierte un número de cualquier base en su
respectivo número decimal.
Número es una cadena str que contiene un número en cualquier base, Base es un int que contiene la base del número ingresado.
La función retorna un int con el decimal respectivo del número
ingresado.
Ejemplo: ChibiBases.convertirbaseadecimal("174",
8) Retorna 124
¿Cómo utilizar la librería para cambiar entre distintas bases?
Si tienes un decimal puedes convertirlo a cualquier base.
Si tienes un hexadecimal y quieres convertirlo, por
ejemplo a octal, deberías convertir primero el hexadecimal a decimal, y luego
de decimal a octal.
En la carpeta de Github encontraras un archivo Ejemplo.py que demuestra su uso.
¿No te parece este procedimiento?
La librería está protegida con derechos de autor utilizando
GPL V3, esto significa…. que ¡puedes sentirte libre de modificar la librería a
tu gusto!, puedes incluirle funciones nuevas o mejorarla, siempre y cuando
incluyas la licencia original tanto externa (el archivo LICENSE) y el aviso de
derechos de autor que está dentro de la librería.
Happy Coding!
Post a Comment