324 views

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 ?

Related questions

1 vote
1
479 views
Can anybody Explain why is it so that "The worst case of an implementation using Booth’s algorithm is when pairs of 01s or 10s occur very frequently in the multiplier." ?
2
314 views
Let's say we have a multiplier $(10101010)_2$. Then applying booth re-coding, Method 1: appending a zero at the end: $(1\ 0\ 1\ 0\ 1\ 0\ 1\ 0\ 0)_2 => (-1\ 1\ -1\ 1\ -1\ 1\ -1\ 0)_2$ Method 2: without appending a ... is the following condition true? #multiplier bits must be equal to #multiplicand bits Please don't give any ref link because I've already searched but didn't got my doubt cleared.