The number of digits in the product is considerably larger than the number in either the multiplicand or the multiplier.
In fact, if we ignore the sign bits, the length of the multiplication of an n -bit multiplicand and an m -bit multiplier is a product that is n+m bits long.
|
|
n+m
bits are required to represent all possible products.
Hence, like add, multiply must cope with overflow because we frequently want a 32-bit product as the result of multiplying two 32-bit numbers.
In the above example, we restricted the decimal digits to 0 and 1.
With only two choices, each step of the multiplication is simple: