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

Shift and Add Multiplication Method in Computer Architecture

YASH PAL, January 28, 2026February 5, 2026

Shift and Add Multiplication Method – Multiplication is also one of the most important arithmetic functions. In some large scientific programs, multiplication occurs as frequently as addition and subtraction. Multiplication of two-bit numbers in its simplest form can be performed by adding partial products.

Multiplication with Signed Magnitude Data (Shift and Add Method)

Compared with addition and subtraction, multiplication is a complex operation, whether performed in hardware or software. Multiplication of signed-magnitude integer numbers might be carried out using paper and pencil. Several important observations can be made

  1. Multiplication involves the generation of partial products, one for each digit in the multiplier. These partial products are then summed to produce the final product.
  2. The partial products can easily be defined. When the multiplier bit is 0, the partial product is 0. When the multiplier bit is 1, the partial product is the multiplicand itself.
  3. The final product is produced by summing the partial products. For this, each successive partial product is shifted one position to the left relative to the preceding partial product.
  4. The sign of the product is determined from the signs of the multiplicand and multiplier. If they are similar, the sign is positive. If they are different, the sign of the product is negative,
  5. The multiplication of two -bit numbers may result in a product of up to 2n bits in length.

Hardware Implementation

When multiplication is implemented in a computer, it is convenient to change the process slightly. First, provide an adder for the summation of two binary numbers and successively accumulate the partial products in a register. Second, instead of shifting the multiplicand to the left, the partial product is shifted to the right. Third, when the multiplier bit is 0, there is no need to add all zeros to the partial product since it will not make any change in its value. Only a shift is required in this case.

The figure below shows a possible implementation of the multiplication of two signed magnitude numbers. The multiplier and multiplicand are loaded into two registers, Q and M. The multiplier sign is stored in Qs, and the multiplicand sign is stored in Ms. There is one more register named the sequence counter. The sequence counter is initially set to the number of bits in the multiplier. The counter is decremented by 1 after completing each partial product. When the content of the counter reaches zero, the product is formed, and the process ends.

Sign Magnitude Multiplication Hardware Implementation
Sign magnitude multiplication Implementation

There is one more register named register A. This is also needed because the multiplication of two n-bit numbers may have 2n bit length. The register A is initially set to 0.

The operation of multiplication is as follows. Initially, the multiplicand is in register M and the multiplier in register Q. If the least significant bit of register Q (Q0) is 1, then the multiplicand is added to register A, and the result is stored in register A and the E flip-flop. This is a partial product. Both the partial product and multiplier are shifted to the right. It means the E bit goes into An-1, A0 goes into Qn-1, and Q0 is lost. If Q0 is 0, then no addition is performed; just right shifting is done. This process is repeated for each bit of the original multiplier. The resulting 2n-bit product is contained in the register A and register Q.

Hardware Algorithm

The figure below shows the flow chart of the multiplication algorithm. Initially, the multiplicand is stored in register M, and the multiplier in register Q. Register A is cleared, and flip-flop E is reset. The sequence counter register (SC) is initialized with (n-1), where n is the number of bits in the number. The signs of multiplicand and multiplier are stored in M and Q, respectively.

Right most bit of the multiplier is checked; if it is 1, then the addition of the multiplicand with register A is performed. After that, all the bits of the E, A, and Q registers are shifted to the right by one bit. If right most bit of the multiplier is 0, only the shifting operation is performed. In the flow chart, it is shown with a micro operation, shr EAQ. This is repeated until the whole operation is repeated (n-1) times. The final result is stored in registers A and Q.

Algorithm for signed magnitude multiplication
Algorithm for signed magnitude multiplication

Multiplication with 2’s Complement Data (Shift and Add Method)

The 2’s complement multiplication is a pencil and paper method, also known as shift and add multiplication. This method adds the multiplicand to itself multiplier times. This is similar to the previous method as discussed in the previous section, except it ensures that the multiplier is positive. If the multiplier is negative, then replace the contents of the multiplier and multiplicand with their 2’s complement.

Hardware Implementation

Hardware implementation for 2’s complement multiplication is shown in the figure below.

2s complement multiplication hardware implementation
2s complement multiplication hardware implementation

Hardware Algorithm

The figure below shows the flow chart of the multiplication algorithm. Initially, the multiplicand is stored in register M and the multiplier in register Q. If the multiplier is negative, then replace the contents of the multiplier and multiplicand with their 2’s complement. In this way, it is ensured that the multiplier is always positive. Now the sign of the multiplicand is the sign of the final product. The remaining algorithm is identical to the signed magnitude multiplication.

2s Complement multiplication Algorithm
2s complement multiplication algorithm

Q&A section

What is the simplest form of multiplication?

Multiplication of two n-bit numbers in its simplest form can be done by addition of n partial products.

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