Booth Algorithm
Booth Algorithm
representation
or
Booth Multiplication Algorithm
• Multiplication M x 14, where M is the multiplicand and 14 the multiplier, can be done as
M x 24 - M X 21 •
• Because +14 can be represented in binary as 001110. It has a string of 1's in the
from bit weight 2k to weight 2m and it is equivalent to 2k+1 - 2m.
• So, the number 14 can be represented as 2k+ l - 2m = 24 - 21 = 16 -2 = 14.
• Thus, the product can be obtained by shifting the binary multiplicand M four times to the
left and subtracting M shifted left once.
• Booth algorithm is based on the above said fact.
• Booth algorithm requires examination of the multiplier bits and shifting of the partial
product.
• Prior to the shifting, the multiplicand may be added to the partial product, subtracted
from the partial product, or left unchanged according to the following rules:
1. The multiplicand is subtracted from the partial product upon facing the first least
significant 1 in a string of 1's in the multiplier. i.e. Qn=1, Qn+1=0.
2. The multiplicand is added to the partial product upon facing the first 0 (provided that
there was a previous 1) in a string of O's in the multiplier. i.e. Qn=0, Qn+1=1
3. The partial product does not change when the multiplier bit is identical to the
previous multiplier bit. i.e. Qn=0, Qn+1=0 or i.e. Qn=1, Qn+1=1.
• The algorithm works for both positive or negative multipliers in 2's complement
representation.
• For example, a multiplier equal to - 14 is represented in 2's complement as 110010 and is
treated as - 24 + 22 - 21 = - 14.