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
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.