Programa Python para sumar dos números binarios

Dados dos números binarios, escriba un programa en Python para calcular su suma.

Ejemplos:

Input:  a = "11", b = "1"
Output: "100"

Input: a = "1101", b = "100"
Output: 10001

Acercarse:

  • Enfoque ingenuo: la idea es comenzar con los últimos caracteres de dos strings y calcular la suma de dígitos uno por uno. Si la suma se vuelve más de 1, entonces almacene el acarreo para los siguientes dígitos.
  • Usando la función incorporada: Calcule el resultado usando las funciones bin() e int() incorporadas.

Método 1: enfoque ingenuo: 

La idea es comenzar con los últimos caracteres de dos strings y calcular la suma de dígitos uno por uno. Si la suma se vuelve más de 1, entonces almacene el acarreo para los siguientes dígitos.

Python3

# Python program to add two binary numbers.
 
# Driver code
# Declaring the variables
a = "1101"
b = "100"
max_len = max(len(a), len(b))
a = a.zfill(max_len)
b = b.zfill(max_len)
 
# Initialize the result
result = ''
 
# Initialize the carry
carry = 0
 
# Traverse the string
for i in range(max_len - 1, -1, -1):
    r = carry
    r += 1 if a[i] == '1' else 0
    r += 1 if b[i] == '1' else 0
    result = ('1' if r % 2 == 1 else '0') + result
 
    # Compute the carry.
    carry = 0 if r < 2 else 1
 
if carry != 0:
    result = '1' + result
 
print(result.zfill(max_len))
Producción

10001

Producción:

10001

Método 2: Usando funciones incorporadas:

Primero convertiremos la string binaria a decimal usando la función int() en python. La función int() en Python y Python3 convierte un número en la base dada a decimal. Luego lo agregaremos y luego lo convertiremos nuevamente en un número binario usando la función bin() .

Ejemplo 1:

Python3

# Python program to add two binary numbers.
 
# Driver code
# Declaring the variables
a = "1101"
b = "100"
 
# Calculating binary value using function
sum = bin(int(a, 2) + int(b, 2))
 
# Printing result
print(sum[2:])
Producción

10001

Ejemplo 2:

Python3

# Python program to add two binary numbers.
 
# Driver code
if __name__ == "__main__" :
 
    # Declaring the variables
    a = "1101"
    b = "100"
     
    # Calculating binary sum by using bin() and int()
    binary_sum = lambda a,b : bin(int(a, 2) + int(b, 2))
     
    # calling binary_sum lambda function
    print(binary_sum(a,b)[2:])
     
    # This code is contributed by AnkThon
Producción

10001

Publicación traducida automáticamente

Artículo escrito por aditya_taparia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *