Why we do right shift in booth algorithm?
I know the working of booths algorithm.
Suppose we have multiplicand M = 01011
and multiplier Q = 01110
We can write Q as (2^4 - 2^1).
So multiplication reduces to 2^4(M) + 2(-M)
Now booths algorithm rules are:-
If Q = 0 and Q(-1)=0 then do arithmetic right shift.
If Q = 1 and Q(-1)=0 then do A-M and arithmetic right shift.
If Q = 0 and Q(-1)=1 then do A+M and arithmetic right shift.
If Q = 1 and Q(-1)=1 then do arithmetic right shift.
Here A is initialized to 00000 and Q(-1) is initialized to 0.
If we see the algorithm then in every step we do right shifting. But as per the calculation shown above which is 2^4(M) + 2(-M) we multiply by 16 and 2 which requires left shift.
So how is booths algorithm working with right shift ?