English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Binario a decimal y viceversa en Python

Dado un número decimal y binario, nuestra tarea es convertir el número decimal a binario y el número binario a decimal.

Algoritmo

Bintodec()

Paso1: Introduce el número binario.
Paso2: A continuación, toma la longitud del número binario.
Paso3: Usando bucle for convertimos el binario a un número decimal.
Justo como si el número binario es 1111, entonces la cálculo sería
1*2**3+1*2**2+1*2**1+1*2**0 = 15
Paso4: Mostrar el número.

Dectobin()

Paso1: Introduce el número decimal.
Paso2: Usando bucle while
*Dividir el número por 2. Encontrar tanto el resto como el cociente. Toma otro variable inicializado con 1.
Ahora el resto se multiplicará con esta variable y se añadirá con el número de salida final. Esta variable se incrementará por 1.
*El primer resto es el último dígito de la secuencia.
Paso3: Mostrar el valor.

Ejemplo de código

print("*****************************************************)
print(" CONVERSIÓN DE DECIMAL A BINARIO Y DE BINARIO A DECIMAL")
print("*****************************************************)
print(" Para Decimal a Binario... Presione 1.")
print(" Para Binario a Decimal... Presione 2)
print("*****************************************************)
my_choice=int(input('Ingrese su opción: '))
if my_choice==1:
i=1
s=0
my_dec=int(input('Ingrese el decimal a convertir: '))
while my_dec>0:
   rem=int(my_dec%2)
   s=s+(i*rem)
   my_dec=int(my_dec/2)
   i=i*10
   print("El binario del número dado es ",s,'.')
else:
   my_bin=input('Ingrese el binario a convertir: ')
   n=len(my_bin)
   res=0
for i in range(1,n+1):
   res=res+ int(my_bin[i-1])*2**(n-i)
print("El decimal del binario dado es ",res,'.')
print("******************************************************)

Resultados de la salida

*****************************************************
CONVERSIÓN DE DECIMAL A BINARIO Y DE BINARIO A DECIMAL
*****************************************************
print(" Para Decimal a Binario... Presione 1.")
print(" Para Binario a Decimal... Presione 2)
*****************************************************
Ingrese su opción: 1
Ingrese el decimal a convertir: 15
El binario del número dado es 1111.
******************************************************
*****************************************************
CONVERSIÓN DE DECIMAL A BINARIO Y DE BINARIO A DECIMAL
*****************************************************
Para Decimal a Binario... Presione 1.
Para Binario a Decimal... Presione 2
*****************************************************
Ingrese su opción: 2
Ingrese el binario a convertir: 1111
El decimal del binario dado es 15.
******************************************************