Professional Documents
Culture Documents
carry = 0
Sum = ''
# is same
# carry
if (temp>1):
Sum += str(temp % 2)
carry = 1
else:
Sum += str(temp)
carry = 0
return Sum[::-1]
def compliment(m):
M = ''
M += str((int(m[i]) + 1) % 2)
# value
M = add(M, '0001')
return M
# number
count = len(M)
# and divisor
while (count):
# to MSB of A.
A = A[1:] + Q[0]
# (Perform A - M).
comp_M = compliment(M)
# adding to A.
A = add(A, comp_M)
print(' A:', A)
if (A[0] == '1'):
# The step is unsuccessful
# will be '0'
Q = Q[1:] + '0'
# Restoration of A is required
A = add(A, M)
else:
# will be '1'
Q = Q[1:] + '1'
# No Restoration of A.
count -= 1
print ('\nQuotient(Q):', Q,
' Remainder(A):', A)
# Driver code
if __name__ == "__main__":
dividend = '0110'
divisor = '0100'
restoringDivision(dividend,
divisor,
accumulator)