3.5.1 Número Binario a Decimal – Algoritmo Básico en Python

Referencia Baldor, Aurelio (1974). Capítulo III Otros sistemas de numeración. Aritmética de Baldor, Guatemala. Cultural Centroamericana S.A..https://es.wikipedia.org/wiki/Sistema_binario

Los números binarios se conforman con los símbolos 0 y 1, que se combinan para representar cualquier número. Binario a Decimal ejercicio resuelto
Una etiqueta de un producto en código de barras es la representación binaria del número que identifica el producto.

Para representar números superiores a 1 dígito, se aplica un método semejante al de formación de números decimales, combinando ordenadamente los símbolos. Se repiten las combinaciones de dígitos anteriores y se le añade un dígito para continuar la numeración

Decimal Binaria
0 0
1 1
2 10
3 11
4 100
5 101
6 110
7 111
8 1000
9 1001
10 1010
11 1011
12 1100

En el sistema binario se utiliza la ponderación por posición de dígito en la misma forma que en la numeración decimal, por ejemplo:

posición 3 2 1 0
ponderación 23 22 21 20
peso en decimal 8 4 2 1
Número en binario 5(10)=101(2)
=0*8+1*4+0*2+1*1
0 1 0 1
  • La posición más a la derecha es menos significativa y de menor ponderación o peso: 20
  • La siguiente posición hacia la izquierda tiene un peso equivalente a: 21
  • La siguiente posición a la izquierda usa un equivalente a: 23
  • Y así sucesivamente.

Se puede encontrar el valor decimal de un número binario cualquiera multiplicando el dígito correspondiente por el “peso” que tiene y sumando los resultados parciales.


Convertir a decimal el binario 101, ejemplo

Para convertir el número binario 101 a decimal, se realizan las operaciones de ponderación usando los residuos de la división para 10 del número en base 10.

La operación de residuo es la extracción de cada dígito empezando por el menos significativo. cada dígito se pondera por 2i, siendo i la posición del dígito.

Algoritmo de Binario a Decimalbinario a decimal diagrama de flujo

Para realizar el algoritmo, se separa cada dígito del número binario, y luego se realiza la operación de ponderación para acumularla en el resultado final.

En la ponderación se usará un contador de posición para ser usado como el exponente de la base 2.

El algoritmo en diagrama de flujo se representará como:


Algoritmo en Python

# Binario a Decimal

binario = int(input("número en binario: "))

decimal = 0
i = 0
while (binario>0):
    digito  = binario%10
    binario = int(binario//10)
    decimal = decimal+digito*(2**i)
    i = i+1
# SALIDA
print("en decimal: ",decimal)

con los siguientes resultados:

>>> 
número en binario: 101
en decimal:  5
>>> 
número en binario: 1000
en decimal:  8
>>> 
número en binario: 111
en decimal:  7
>>>