mja
0
Q:

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

New to Communities?

Join the community