retagged by
3,578 views

2 Answers

8 votes
8 votes

70E5F867 * EFB70E1E

= 0111 0000 1110 0101 1111 1110 0110 0111
*  1110 1111 1011 0111 0000 1110 0001 1110

In normal shift addition this amounts to 20 addition as the partial product must be added corresponding to each '1' in the multiplier and we have 20 1's here.

In Booth's multiplication we do an ADD for a sequence of continuous 1's and a subtraction when the sequence ends. So, if we scan from right to left, when we encounter "10" we do a subtract and when we encounter "01" we do an ADD. But SUB is also done by adding 2's complement and this also can be counted as ADD. So, we will have 11 additions (5 + and 6 -) here which can be shown in either way as follows:

1110 1111 1011 0111 0000 1110 0001 1110 (5 ADD)

1110 1111 1011 0111 0000 1110 0001 1110  (6 SUB)

But the above works for signed numbers in 2's complement form. For unsigned numbers we have to do the same but with a '0' added to the left of multiplier thus extending its number of bits by 1. Thus we get

0 1110 1111 1011 0111 0000 1110 0001 1110 - 6 ADD

Ref: https://people.cs.pitt.edu/~jmisurda/teaching/cs447/examples/Booth%20Example.pdf

edited by
0 votes
0 votes

Related questions

0 votes
0 votes
0 answers
2
1 votes
1 votes
1 answer
4
Na462 asked Apr 16, 2018
1,630 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." ...