Back to ComputerTerms
Booth's Algorithm for Multiplication
1. Set product = Multiplier
1. Depending on the current and previous bits, do one of the following:
00: Middle of a string of 0's, so no arithmetic operation.
01: End of a string of 1's so add the multiplicand to the left half of the product
10: Beginning of a string of 1s, so subtract the multiplicand from the left half of the product.
11: Middle of a string of 1's, so no arithmetic operation.
2. Shift the product register right 1 bit.
Example:
{{{
0010 Multiplicand negative = 1110 (-2)
1101 x Multiplier
-----------
1111 1010
Product:
Prev
0000 1101 (0) -2 -->
1110 1101 (1) Shift -->
1111 0110 (1) +2 -->
0001 0110 (1) Shift -->
0000 1011 (0) -2 -->
1110 1011 (0) Shift -->
1111 0101 (1) Shift -->
1111 1010 (1) Answer }}}
Back to ComputerTerms
