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.
                                                                             =
   93   94   95   96   97   98   99   100   101   102   103