Binary Coffee

Python: convertir de binario a decimal y viceversa

algorithms math python
En este artículo te enseñamos a convertir de decimal a binario y de binario a decimal. Lee para que entiendas el proceso de conversión y conozcas más sobre estos sistemas de numeración. ## Qué es el sistema de numeración decimal El sistema de numeración decimal, es un sistema en el que las cantidades se representan utilizando como base aritmética las potencias del número diez. El conjunto de símbolos utilizado se compone de diez cifras desde el cero(0) al nueve(9). ## Qué es el sistema de numeración binario El sistema binario es un sistema de numeración en el que los números se representan utilizando solamente dos cifras: cero (0) y uno (1). Es uno de los sistemas que se utilizan en las computadoras, debido a que estas trabajan internamente con dos niveles de voltaje, por lo cual su sistema de numeración natural es el sistema binario. <iframe width="560" height="315" src="https://www.youtube.com/embed/Jjs5A8ccLOY" frameborder="0" allow="accelerometer; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ## ¿Cómo convertir de decimal a binario? ![Ejemplo de conversión a binario del número 77](https://api.binary-coffee.dev/uploads/indice_ee6a4b1021.png) Dado un número, el método consiste en hacer una serie de **divisiones enteras** hasta llegar a cero. Tomaremos nota del resto de cada división formando así nuestro número binario. Procedamos con un ejemplo, teniendo en cuenta el número 11. **Div 1**: 11/2 = 5 con resto 1. **Div 2**: 5/2 = 2 con resto 1. **Div 3**: 2/2 = 1 con resto 0. **Div 4**: 1/2 = 0 con resto 1. Una vez que las divisiones se han completado, es suficiente recomponer los restos **comenzando de abajo hacia arriba**. Luego, procediendo del resto de la **Div 4**, entonces la **Div 3** y así sucesivamente obtendremos **1011**. ## ¿Como convertir de binario a decimal? ![Ejemplo de conversión de binario a decimal](https://api.binary-coffee.dev/uploads/ind2ice_a3d20db3f0.png) El procedimiento es muy sencillo y será suficiente un poco de práctica para realizar el cálculo de manera rápida, incluso los cálculos más complejos. Para convertir de decimal a binario simplemente calculamos la sumatoria **i * (2 ^ x)** donde **i** es el dígito y **x** corresponde a la posición del mismo. Tomando en cuenta la representación del número 11(1011) el proceso nos quedaría así: = `1 * ( 2 ^ 0 ) + 1 * ( 2 ^ 1) + 0 * ( 2 ^ 2 ) + 1 * ( 2 ^ 3 )` = `1 + 2 + 0 + 8` = `11` ## Convertir de decimal a binario con Python ``` #Convertimos el entero 11 a binario bin(11) #Nos devuelve una cadena. >>> '0b1011' #Para convertir el numero en un entero. int(bin(11)[2:]) >>> 1011 ``` ## Convertir de binario a decimal con Python ``` b = 1011 #Convertimos el entero en una cadena y despeas lo pasamos a binario. #Base 2. print int(str(b), 2) >>> 11 ``` Y esto es todo, como ves no es un proceso complicado. Si tienes dudas o quieres compartir algo con la comunidad puedes hacerlo en los comentarios. ### Recomendado > Aprende a crear [códigos qr](https://binary-coffee.dev/post/generando-codigos-qr-con-python)
Opiniones