Dodawanie pisemne w systemie dwójkowym

Schemat Hornera i działania w innych systemach liczbowych - Algorytmy: zakres rozszerzony (Python)

Dodawanie pisemne w innym systemie działa jak w dziesiętnym, tylko przeniesienie pojawia się, gdy suma cyfr osiągnie podstawę. W dwójkowym 1 + 1 = 10, czyli piszemy 0 i przenosimy 1. Dodajemy od prawej, cyfra po cyfrze.

def add_binary(x, y):
    x, y = x.zfill(len(y)), y.zfill(len(x))
    result = ""
    carry = 0
    for i in range(len(x) - 1, -1, -1):
        total = int(x[i]) + int(y[i]) + carry
        result = str(total % 2) + result
        carry = total // 2
    if carry:
        result = "1" + result
    return result


print(add_binary("1011", "110"))
print(add_binary("1111", "1"))

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Algorytmy: zakres rozszerzony·Zaloguj się, aby zapisać postęp na koncie.