簡體   English   中英

如何將 2 個二進制數相加而不將它們轉換為整數?

[英]How do i sum 2 binary numbers without converting them to integers?

我需要幫助!

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

我需要總結這些:

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

請幫忙!

有幫助嗎? 我認為您的問題的一個版本之前可能已經回答過,具體取決於您輸入的二進制數是什么類型。

好習慣。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM