Skip to content
The Computer Science
TheCScience
  • Engineering Subjects
    • Human Values
    • Computer System Architecture
    • Digital Communication
    • Internet of Things
  • NCERT Solutions
    • Class 12
    • Class 11
  • HackerRank solutions
    • HackerRank Algorithms Problems Solutions
    • HackerRank C solutions
    • HackerRank C++ problems solutions
    • HackerRank Java problems solutions
    • HackerRank Python problems solutions
The Computer Science
TheCScience

Non Restoring Division Algorithm in Computer Architecture

YASH PAL, January 28, 2026February 5, 2026

Non-Restoring Division Algorithm – The restoring method that we have discussed in this article, Restoring Division Algorithm, restores the partial remainder by adding the divisor to the negative difference. This method can be improved by avoiding the need for restoring after an unsuccessful subtraction. The new method is named the non-restoring division method.

Consider the sequence of operations that take place after the subtraction operation in the restoring division method. If A is positive, then perform shift left (A ← 2A) and subtract M (A ← A – M). It means the micro operation A ← 2A – M is performed. If A is negative, in the non-restoring method, leave it (A-M) as it is. The next time around the loop, the number is shifted left, and M is added to give
2A-M [2 (A-M)+M = 2A-2M+M = 2A-M], which is the same as before.

Non-Restoring Division Implementation

The hardware implementation of non-restoring division is similar to restoring division, and it is shown in the figure below.

Non-Restoring Division Algorithm

In the non-restoring method, the divisor (M) is not added to register A if the difference is negative, but instead, the negative difference is shifted left, and the divisor is added. The flow chart shown in the figures below gives the non-restoring division algorithm.

Non restoring division algorithm
Non-restoring division algorithm

Q&A Section

Differentiate restoring and non-restoring division methods.

In the non-restoring method, the divisor is not added to register A if the difference is negative, but instead the negative difference is shifted left, and the divisor is added.

Computer System Architecture engineering subjects Computer System Architectureengineering subjects

Post navigation

Previous post
Next post

Computer Architecture fundamentals
Development of Computers
Von Neuman and Harvard machine Architecture
Flynn Classification
Computer Structure Architecture
Interfacing Logic Devices
Levels of Design abstraction
Performance Metrics

Register Transfer Language
Memory Transfer
Arithmetic Micro-operations
Logic Micro-operations
Shift Micro-operations
Bus Architecture
Data Transfer
Central Processing Unit
CPU Bus Architecture

Computer Register and Types
Common Bus System
Instruction Format
Instruction Types
Instruction Cycle
Addressing Modes
Design of a basic computer

Basic function of a Computer
General register organization
Stack organization
Infix to Reverse Polish Notation Conversion
Instruction Types and their classifications
Data transfer and manipulation
Program control
RISC characteristics
CISC characteristics

Pipeline
Types of Pipeline
Arithmetic Pipeline
Instruction Pipeline
Hazards
Vector Processing

Data Representation
Addition and Subtraction
Adder Circuits
Shift and Add Multiplication Method
Booth's Algorithm
Restoring Division Algorithm
Non-Restoring Division Algorithm
Array Multiplier

Memory Classification
Memory Characteristics
Memory Organization
Memory Types
Associative Memory
Cache Memory
Virtual Memory

Input Output Interface
Modes of Data Transfer
Priority Interrupt
Direct Memory Access
Input-Output Processor
Serial Communication

TheCScience

We at TheCScience.com are working towards the goal to give free education to every person by publishing in dept article about Secondary, Senior-Secondary, and Graduation level subjects.

Pages

About US

Contact US

Privacy Policy

DMCA

Engineering Subjects

Internet of Things

Human Values

Digital Communication

Computer System Architecture

Programming Tutorials

Data Structure and Algorithm

C

Java

NCERT

Class 12th

©2026 TheCScience | WordPress Theme by SuperbThemes