M (Multiplicand)
0000
Adder / Subtractor
Idle
A (Accumulator)
0000
Arithmetic Right Shift
Q (Multiplier)
0000
Q-1
0
Sequence Counter / Control
n = 4
Count
4
Product
P7
0
P6
0
P5
0
P4
0
P3
0
P2
0
P1
0
P0
0
Multiplicand (M)
M3
0
M2
0
M1
0
M0
0
Multiplier (Q)
Q3
0
Q2
0
Q1
0
Q0
0
Booth's Iteration Steps
A Q Q-1 M Comment
Click "Multiply" to see iterations
Product: (—)
Current State
M (Multiplicand): 0000 (0)
Q (Multiplier): 0000 (0)
Product: 00000000 (0)
M × Q = 0

Algorithm Info

Booth's Multiplication Algorithm

Booth's algorithm is an efficient method for multiplying two signed binary numbers in two's complement notation.

Steps:

  1. Initialize: Set A = 0, Q = Multiplier, Q-1 = 0, M = Multiplicand, Count = n (number of bits).
  2. Check Q0 and Q-1:
    • Q₀Q₋₁ = 10 → A = A − M (Subtract)
    • Q₀Q₋₁ = 01 → A = A + M (Add)
    • Q₀Q₋₁ = 00 or 11 → No operation
  3. Arithmetic Right Shift: Shift [A, Q, Q-1] right by 1 bit (preserving sign of A).
  4. Decrement Count. If Count ≠ 0, go to step 2.
  5. Result: The product is in [A, Q] (8 bits for 4-bit inputs).

Truth Table (Q₀ Q₋₁)

Q₀ Q₋₁ Operation
00No Operation
01A = A + M
10A = A − M
11No Operation