RO
sum = (a or b) and (not a or not b)
carry = not (not a or not b)
return sum, carry
Size: a a a
RO
БГ
БГ
БГ
RO
RO
A
БГ
def full_bit_sum(a, b, c):
...
return sum, carry
assert (full_bit_sum(0, 0, 0) == (0, 0))
assert (full_bit_sum(0, 0, 1) == (1, 0))
assert (full_bit_sum(0, 1, 0) == (1, 0))
assert (full_bit_sum(0, 1, 1) == (0, 1))
assert (full_bit_sum(1, 0, 0) == (1, 0))
assert (full_bit_sum(1, 0, 1) == (0, 1))
assert (full_bit_sum(1, 1, 0) == (0, 1))
assert (full_bit_sum(1, 1, 1) == (1, 1))
БГ
K
БГ
def full_bit_sum(a, b, c):
...
return sum, carry
assert (full_bit_sum(0, 0, 0) == (0, 0))
assert (full_bit_sum(0, 0, 1) == (1, 0))
assert (full_bit_sum(0, 1, 0) == (1, 0))
assert (full_bit_sum(0, 1, 1) == (0, 1))
assert (full_bit_sum(1, 0, 0) == (1, 0))
assert (full_bit_sum(1, 0, 1) == (0, 1))
assert (full_bit_sum(1, 1, 0) == (0, 1))
assert (full_bit_sum(1, 1, 1) == (1, 1))
RO
def full_bit_sum(a, b, c):
...
return sum, carry
assert (full_bit_sum(0, 0, 0) == (0, 0))
assert (full_bit_sum(0, 0, 1) == (1, 0))
assert (full_bit_sum(0, 1, 0) == (1, 0))
assert (full_bit_sum(0, 1, 1) == (0, 1))
assert (full_bit_sum(1, 0, 0) == (1, 0))
assert (full_bit_sum(1, 0, 1) == (0, 1))
assert (full_bit_sum(1, 1, 0) == (0, 1))
assert (full_bit_sum(1, 1, 1) == (1, 1))
RO
БГ
БГ
@
RO
RO