首页 > 解决方案 > 如何将 2 个二进制数相加而不将它们转换为整数?

问题描述

我需要帮助!

I need to sum 2 binary numbers without converting them into integers...

我需要总结这些:

0+0 0+1 1+1 11+11 110+100

请帮忙!

标签: pythonbinaryoperation

解决方案


好习惯。

num1 = '110'
num2 = '1011'

max_len = max(len(num1), len(num2))

result = [0] * max_len

rev_num1 = num1[::-1]
rev_num2 = num2[::-1]

for i in range(len(num1)):
    result[i] = int(rev_num1[i])

over = 0
for i in range(len(num2)):
    result[i] += int(rev_num2[i]) + over

    over = 0
    if result[i] > 1:
        result[i] %= 2
        over = 1
    result[i] %= 2

if over == 1:
    result.append(1)

print(''.join(str(s) for s in result[::-1]))

推荐阅读