binary addition in python
#Efficient Binary Addition def binaryAddEfficient(a, b): if len(a)< len(b): a = (len(b)-len(a))*'0'+a elif len(b)<len(a): b = (len(a)-len(b))*'0'+b sumList=[] #Using a list instead of a string carryover=0 for i in range(len(a)-1, -1,-1): sum = (int(a[i]) + int(b[i]) +carryover) % 2 carryover = (int(a[i]) + int(b[i]) +carryover) // 2 sumList.append(str(sum)) #Appending to the list on the right. if carryover: sumList.append(str(carryover)) sumList.reverse() #Reverse, because appending gets done on the right. return "".join(sumList)