I’m going to simulate the whole adding process by bit manipulation:
def add(sum, carry):
if not carry:
return sum
sum = sum ^ carry # Just add without carry
carry = (sum & carry) << 1 # Just carry without add
add(sum, carry)
a,b = 1,1
result = add(a,b)
and it works 🙂