Restoring Division Algorithm For Unsigned Integer Last Updated : 23 Sep, 2025 Suggest changes Share Like Article Like Report The Restoring Division Algorithm is a method for dividing two unsigned integers in binary form, producing a quotient and remainder through iterative shifting and subtraction.It uses registers for the quotient (Q), remainder (A), and divisor (M).If subtraction gives a negative result, the remainder is restored to its previous value, and the quotient bit is set to zero, hence the term "restoring." Here, register Q contain the quotient and register A contains the remainder. Here, an n-bit dividend is loaded in Q and the divisor is loaded in M. The Value of Register is initially kept 0, and this is the register whose value is restored during iteration, due to which it is named Restoring. Steps for Restoring Division AlgorithmStep-1: First the registers are initialized with corresponding values (Q = Dividend, M = Divisor, A = 0, n = number of bits in dividend) Step-2: Then the content of register A and Q is shifted left as if they are a single unit Step-3: Then content of register M is subtracted from A and result is stored in A Step-4: Then the most significant bit of the A is checked if it is 0 the least significant bit of Q is set to 1 otherwise if it is 1 the least significant bit of Q is set to 0 and value of register A is restored i.e the value of A before the subtraction with M Step-5: The value of counter n is decremented Step-6: If the value of n becomes zero we get of the loop otherwise we repeat from step 2 Step-7: Finally, the register Q contain the quotient and A contain remainder Unsigned IntegerUnsigned integers store only non-negative numbers. Signed integers use the first bit for the sign (0 = positive, 1 = negative), while unsigned use all bits for value. In 8-bit form, unsigned integers range from 0 to 255. They are used in computing when only positive values or a larger range is required.Slow Algorithm and Fast AlgorithmSlow division algorithm are restoring, non-restoring, non-performing restoring, SRT algorithm and under fast comes Newton–Raphson and Goldschmidt. In this article, will be performing restoring algorithm for unsigned integer. Restoring term is due to fact that value of register A is restored after each iteration.Example Restoring Division Algorithm Perform Division Restoring Algorithm Dividend = 11 Divisor = 3 nMAQOperation400011000001011initialize0001100001011_shift left AQ0001111110011_A=A-M00011000010110Q[0]=0 And restore A30001100010110_shift left AQ0001111111110_A=A-M00011000101100Q[0]=020001100101100_shift left AQ0001100010100_A=A-M00011000101001Q[0]=110001100101001_shift left AQ0001100010001_A=A-M00011000100011Q[0]=1Remember to restore the value of A most significant bit of A is 1. As that register Q contain the quotient, i.e. 3 and register A contain remainder 2. H him0000 Follow Article Tags : Computer Organization & Architecture Explore Basic Computer InstructionsWhat is a Computer? 6 min read Issues in Computer Design 1 min read Difference between assembly language and high level language 2 min read Addressing Modes in 8086 7 min read Difference between Memory based and Register based Addressing Modes 4 min read Von Neumann Architecture 5 min read Harvard Architecture 3 min read Interaction of a Program with Hardware 3 min read Simplified Instructional Computer (SIC) 4 min read Instruction Set used in simplified instructional Computer (SIC) 1 min read Instruction Set used in SIC/XE 2 min read RISC vs CISC 4 min read Vector processor classification 5 min read Essential Registers for Instruction Execution 3 min read Introduction of Single Accumulator based CPU organization 2 min read Stack based CPU Organization 4 min read Machine Control Instructions in Microprocessor 4 min read Very Long Instruction Word (VLIW) Architecture 3 min read Input and Output SystemsComputer Organization | Different Instruction Cycles 11 min read Machine Instructions 5 min read Instruction Formats 6 min read Difference between 2-address instruction and 1-address instructions 4 min read Difference between 3-address instruction and 0-address instruction 4 min read Register content and Flag status after Instructions 3 min read Debugging a machine level program 3 min read Vector Instruction Format in Vector Processors 7 min read Vector Instruction Types 4 min read Instruction Design and FormatIntroduction of ALU and Data Path 5 min read Computer Arithmetic | Set - 1 5 min read Computer Arithmetic | Set - 2 4 min read 1's Complement Representation vs 2's Complement Representation 4 min read Restoring Division Algorithm For Unsigned Integer 4 min read Non-Restoring Division For Unsigned Integer 3 min read Booth's Algorithm 4 min read How the Negative Numbers are Stored in Memory? 2 min read Microprogrammed ControlMicro-Operation 3 min read Instruction Set Architecture and Microarchitecture 3 min read Types of Program Control Instructions 6 min read Difference between CALL and JUMP instructions 5 min read Hardwired and Micro-programmed Control Unit 3 min read Implementation of Micro Instructions Sequencer 4 min read Performance of Computer in Computer Organization 5 min read Introduction to Control Unit and its Design 4 min read Computer Organization | Amdahl's law and its proof 2 min read Subroutine, Subroutine nesting and Stack memory 5 min read Different Types of RAM (Random Access Memory ) 8 min read Random Access Memory (RAM) and Read Only Memory (ROM) 8 min read 2D and 2.5D Memory organization 4 min read Input and Output OrganizationPriority Interrupts | (S/W Polling and Daisy Chaining) 5 min read I/O Interface (Interrupt and DMA Mode) 4 min read Direct memory access with DMA controller 8257/8237 3 min read Computer Organization | Asynchronous input output synchronization 7 min read Programmable peripheral interface 8255 4 min read Synchronous Data Transfer in Computer Organization 4 min read Introduction of Input-Output Processor 5 min read MPU Communication in Computer Organization 4 min read Memory Mapped I/O and Isolated I/O 5 min read Memory OrganizationIntroduction to memory and memory units 4 min read Memory Hierarchy Design and its Characteristics 6 min read Register Allocations in Code Generation 6 min read Cache Memory 5 min read Cache Organization | Set 1 (Introduction) 3 min read Multilevel Cache Organisation 6 min read Difference between RAM and ROM 7 min read Difference Between CPU Cache and TLB 4 min read Introduction to Solid-State Drive (SSD) 4 min read Read and Write operations in Memory 3 min read PipeliningInstruction Level Parallelism 5 min read Pipelining | Set 1 (Execution, Stages and Throughput) 6 min read Computer Organization and Architecture | Pipelining | Set 3 (Types and Stalling) 3 min read Computer Organization and Architecture | Pipelining | Set 2 (Dependencies and Data Hazard) 6 min read Last Minute Notes Computer Organization 15+ min read My Profile ${profileImgHtml} My Profile Edit Profile My Courses Join Community Transactions Logout Like