Page 98 - Bebop to The Boolean Boogie An Unconventional Guide to Electronics Fundamentals, Components, and Processes
P. 98
Binary Arithmetic 79
as a function of the multiplier bit with which it is associated; for example, the
partial product associated with bit 0 in the multiplier is left-shifted zero bits,
the partial product associated with bit 1 is left-shifted one bit, etc. All of the
partial products are then added together to generate the result, whose width is
equal to the sum of the widths of the two values being multiplied together.
There are several ways to implement a multiplier based on Booth’s
technique. In one implementation, all of the partial products are generated
simultaneously and then added together, This requires a lot of logic gates,
but the resulting multiplication is extremely fast. Unfortunately, Booth‘s
Algorithm only works with unsigned binary values. However, this problem
can be overcome by taking the twos complement of any negative values
before feeding them into the multiplier. If the signs of the two values are the
same, both positive or both negative, then no further action need be taken.5
However, if the signs are different, then the result returned from the multiplier
must be negated by transforming it into its twos complement.
Last but not least, long division is just about as much fun in binary as it is
in decimal, which is to say “Not a lot!” For this reason, binary division is best
left to computers because they are in no position to argue about it.
A negative multiplied by a negative equals a positive; for example, (-3) x (-4) +12.
=