📜  Python程序将两个二进制数相加

📅  最后修改于: 2022-05-13 01:54:45.498000             🧑  作者: Mango

Python程序将两个二进制数相加

给定两个二进制数,编写一个Python程序来计算它们的和。

例子:

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

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

方法:

  • 朴素的方法:这个想法是从两个字符串的最后一个字符开始,一个一个地计算数字和。如果总和大于 1,则为下一个数字存储进位。
  • 使用内置函数:使用内置的bin()int()函数计算结果。

方法 1:朴素的方法:

这个想法是从两个字符串的最后一个字符开始,一个一个地计算数字和。如果总和大于 1,则为下一个数字存储进位。

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))


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:])


输出:

10001

方法 2:使用内置函数:

我们将首先使用Python中的int()函数将二进制字符串转换为十进制。 Python和 Python3 中的int()函数将给定基数中的数字转换为十进制。然后我们将添加它,然后再次使用bin()函数将其转换为二进制数。

蟒蛇3

# 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:])

输出:

10001