Booth’s Algorithm Explained: Signed Binary Multiplication, Full Trace and Exam Traps

Learn how Booth’s Algorithm reads bit pairs, updates fixed-width registers, and shifts them as one field. A four-cycle trace proves why 0011 × 1011 gives -15.

KnowledgeGate Team

Exam prep & CS education

Updated 7 Sep 20266 min read

Booth’s Algorithm is easy to memorise as a 00/01/10/11 table but hard to execute correctly. One reversed pair, one logical shift, or one missed sign bit changes every later row. Start with zeroed registers, complete (+3) × (-5) in 4-bit two’s complement, and use a repeatable checking method. This is a signed-integer multiplication method in computer organisation, not a floating-point encoding method.

Booth’s Algorithm: the problem it solves and the registers it needs

Booth’s Algorithm multiplies signed two’s-complement integers. For an n-bit multiplication, it uses four working fields:

  • A, an n-bit accumulator

  • Q, the n-bit multiplier

  • M, the n-bit multiplicand

  • Q-1, a one-bit latch that remembers the previous multiplier bit

The algorithm makes exactly n decisions, each followed by an arithmetic right shift, even when A does not change.

Our running example uses n=4. The multiplicand is M=0011, which is +3, and the multiplier is Q=1011, which is -5 in 4-bit two’s complement. Initialise A=0000 and Q-1=0. The two’s complement of M is -M=1101. All additions in A remain four bits wide, so any carry beyond the register is discarded.

The bit pattern 1011 means -5 only because we are treating it as a 4-bit two’s-complement integer. An IEEE 754 word instead separates the sign, exponent, and fraction. See Floating point representation: encode and add in IEEE 754 if that representation needs a separate revision.

Booth’s Algorithm decision table and the combined arithmetic shift

Always read the decision pair in the order (Q0,Q-1). Here, Q0 is the current least-significant bit of Q.

Pair (Q0,Q-1)

Operation before shifting

00

No change to A

01

A = A + M

10

A = A - M, implemented as A = A + (-M)

11

No change to A

After the optional operation, arithmetic-right-shift [A,Q,Q-1] as one signed field. The old sign bit of A is copied into the new most-significant bit of A. The old A0 enters the most-significant bit of Q, and the old Q0 becomes the new Q-1. Shifting A and Q separately is not equivalent.

Check the first cycle. From [0000,1011,0], the pair is 10, so A=0000-0011=1101. Arithmetic-shifting [1101,1011,0] then gives [1110,1101,1].

Use Booth's Algorithm for GATE: Worked Trace, Op Counts as the compact reference for register setup, operation counting, and common GATE question formats. After that compact reference, audit the four-cycle (+3) × (-5) trace two ways, apply the transition rule to run recoding, and test the -8 edge case.

Booth decision table (00/11 no-op, 01 add M, 10 subtract M) beside the first shift of A,Q,Q-1 from 1101,1011,0 to 1110,1101,1.

Booth’s Algorithm worked example: multiply +3 by -5 in four cycles

Keep each starting and post-shift state on one row to avoid confusing a shifted value with the next arithmetic result.

Cycle

Start A

Start Q

Q-1

Pair

Operation on A

State after arithmetic right shift

1

0000

1011

0

10

0000-0011=1101

A=1110, Q=1101, Q-1=1

2

1110

1101

1

11

No operation

A=1111, Q=0110, Q-1=1

3

1111

0110

1

01

1111+0011=0010, carry discarded

A=0001, Q=0011, Q-1=0

4

0001

0011

0

10

0001-0011=1110

A=1111, Q=0001, Q-1=1

Cycle 1 subtracts M because the pair is 10, then shifts the combined register to [1110,1101,1]. Cycle 2 sees 11, so the accumulator stays 1110, but the shift still happens. Its post-shift state is [1111,0110,1].

Cycle 3 sees 01 and adds M. The full binary sum 1111+0011 produces a carry beyond the four-bit accumulator; after discarding that carry, A=0010. The combined shift produces [0001,0011,0]. Cycle 4 sees 10, so 0001-0011=1110, followed by the final state [1111,0001,1].

Stop after four cycles because n=4. Discard the helper bit Q-1, then join the final A and Q. The product is AQ=11110001.

Four-cycle Booth trace for +3 times -5, each row giving the pair, operation, and post-shift state, ending at AQ 11110001 or -15.

Verify the result in binary and decimal

Decode 11110001 as an 8-bit two’s-complement number. Invert every bit to get 00001110, then add 1 to get 00001111, whose magnitude is 15. The original leading bit was 1, so the value is -15. Independently, (+3) × (-5) = -15.

Each input has four bits, but the complete product uses 2n=8 bits. Neither A nor Q alone is the product, and Q-1 is only a helper bit. A fast diagnostic also agrees: unlike operand signs require a negative result, and -15 is representable in eight signed bits.

Why Booth recoding compresses a run of 1 bits

The pair table detects transitions in the multiplier. When scanning from the appended Q-1=0, a 10 boundary begins a run of 1 bits and creates a subtraction at its low end. A 01 boundary ends the run and creates an addition at its high end. Pairs 00 and 11 sit inside unchanged regions.

For the 5-bit multiplier Q=01110, which represents +14, the low boundary at bit 1 contributes -2M. The high boundary at bit 4 contributes +16M. The middle of the run requires no arithmetic, so the recoded value is 16M-2M=14M.

This can reduce arithmetic operations for long runs of 1 bits, but it does not guarantee fewer operations for every pattern. Alternating bits such as 01010 create more transitions.

Booth’s Algorithm mistakes that corrupt the trace

The pair-order trap is the most common: 01 means add, while 10 means subtract. Write the mnemonic, “read current bit first, previous bit second.”

The shift creates another cluster of errors. Add or subtract before shifting, shift [A,Q,Q-1] together, and preserve the sign of A. In cycle 1, a logical shift would make A begin with 0; the correct arithmetic-shift result is A=1110.

Width and stopping rules matter too. Keep A, M, and Q at the declared width, run exactly n cycles, and return only AQ. There is also an important edge case: M=1000 means -8 in four bits, but its positive negation +8 cannot be represented in four bits. A robust implementation needs an extra working bit instead of silently reusing 1000 as -M. Do not mix Booth’s procedure with floating-point fields or sign-magnitude arithmetic.

How Booth’s Algorithm is tested in exam-style questions

Exam-style questions typically require one of five moves: choose the action for a pair, fill a missing register row, identify a logical shift error, count additions and subtractions, or decode the final AQ. Each can be checked from the pair rule, fixed-width arithmetic, and the combined shift.

Try one rapid check. If A=0101, Q=0110, Q-1=1, and M=0011, then (Q0,Q-1)=01. The next arithmetic step is A=0101+0011=1000 before any shift. Choosing subtraction means the pair has been reversed.

On rough paper, use five columns: cycle | pair | A after operation | A,Q,Q-1 after shift | cycles left. Check the expected sign and decimal product only after the final cycle; every intermediate decision should come from the current pair and fixed-width register state.

Use GATE CS Exam Preparation for the wider subject route, then use the GATE Test Series for structured test practice.

Booth’s Algorithm: the short version and next step

Initialise A=0 and Q-1=0. Inspect (Q0,Q-1), add for 01, subtract for 10, and do nothing for 00 or 11. Arithmetic-shift the combined register, repeat exactly n times, and read the final AQ.

For the anchor example, four cycles for 0011 × 1011 produce AQ=11110001, which is -15. Reproduce these post-shift states without looking back: [1110|1101|1], [1111|0110|1], [0001|0011|0], and [1111|0001|1].

That self-test is the immediate next action if Booth’s Algorithm is your only focus. For a broader, structured preparation route, use GATE Guidance by Sanchit Sir while keeping this register-checking habit.