Two's complement multiplication, defined in terms of adds, subtracts, and shifts, is derived from a novel expression relating a two's-complement number and its integer interpretation. Although the derived algorithm is considered well known, the derivation itself is believed to be original and easily grasped. Implementation of the algorithm in terms of computer arithmetic is shown to be safe from overflow except for the case when the multiplier is 10...0 (max. negative). In this case, the resulting product will have the proper magnitude but the wrong algebraic sign. The implementation can, however, be modified to handle this special case properly.
/lp/association-for-computing-machinery/two-s-complement-multiplication-T2030xN0Pe