NonRestoring Division For Unsigned Integer (original) (raw)

Non-Restoring Division For Unsigned Integer

Last Updated : 4 Apr, 2026

The non-restoring division algorithm is a faster method to divide binary numbers. Unlike traditional division, it avoids repeatedly adding back the divisor, making it more efficient for computers to perform.

**Flow Chart of Non-Restoring Division For Unsigned Integer

start-

Steps Involved in the Non-Restoring Division Algorithm

Step-1: First, the registers are initialized with corresponding values (Q = Dividend, M = Divisor, A = 0, n = number of bits in dividend)

Step-2: Shift left the contents of (A, Q) as a combined register

Step-3: Check the sign bit of register A

Step-4: Check the sign bit of register A again

Step-5: If the sign bit is 0, set Q[0] = 1; otherwise, set Q[0] = 0 (Q[0] is the least significant bit of register Q)

Step-6: Decrement the value of n by 1

Step-7: If n is not equal to zero, go to Step-2; otherwise, proceed to the next step

Step-8: If the sign bit of A is 1, perform A = A + M

Step-9: Register Q contains the quotient and register A contains the remainder

Example

Let’s divide the binary number 1011 (which is 11 in decimal) by 0011 (which is 3 in decimal) using the Non-Restoring Division Algorithm.

**Initialization:

**Step-by-Step Solution

**1. Initial Setup:

**2. First Iteration:

**3. Second Iteration:

**4. Third Iteration:

**5. Fourth Iteration:

**6. Final Adjustment:

If the sign bit of A is 1 (A < 0), perform A = A + M; otherwise, no adjustment is required.