Booth's algorithm facilitates the process of multiplying signed numbers.
Flow chart of unsigned binary multiplication
Example of unsigned binary multiplication
1010*1100
C
|
A
|
Q
|
M
|
comment
|
0
|
0000
|
1010
|
1100
|
Initial value
|
0
|
0000
|
0101
|
1100
|
Since Q0=0
Shift C,A,Q by 1bit
|
0
|
1100
|
0101
|
1100
|
Since Q0=1
C,A A+M
|
0
|
0110
|
0010
|
1100
|
Shift C,A,Q by 1 bit
|
0
|
0011
|
0001
|
1100
|
Since Q0=0
Shift C,A,Q by 1 bit
|
0
|
1111
|
0001
|
1100
|
Since Q0=1
C,A A+M
|
0
|
0111
|
1000
|
1100
|
Shift C,A,Q by 1 bit
|
Answer(AQ)=01111000
Example of Booth's Algorithm (7*3):-
Flow chart of Booth's Algorithm fot two's complement Multiplication
Example of Booth's Algorithm (7*3):-
A
|
Q
|
Q-1
|
M
|
comment
|
0000
|
0011
|
0
|
0111
|
Initial value
|
1001
|
0011
|
0
|
0111
|
Q0,Q-1=10
A<- A-M
|
1100
|
1001
|
1
|
0111
|
Shift right A,Q,Q-1
|
1110
|
0100
|
1
|
0111
|
Q0,Q-1=11
Shift right A,Q,Q-1
|
0101
|
0100
|
1
|
0111
|
Q0,Q-1=01
A<- A+M
|
0010
|
1010
|
0
|
0111
|
Shift right A,Q,Q-1
|
0001
|
0101
|
0
|
0111
|
Q0,Q-1=00
Shift right A,Q,Q-1
|
Answer(AQ)=00010101