When the product is shifted right, so is the multiplier. This not only saves space, it saves one operation. Shifting steps need to extend the sign of the product. Since shifting was faster than adding, this insight improved performance in some situations, because during a run of 1s, the product could just be shifted and no addition was required. It's possible to multiply a number by 2 n by shifting to the left n times.
Some compilers replace multiplies with series of shifts, adds and subtracts.
Almost every compiler will replace multiplying by a power of 2 with a left shift. Remember the sign of the divisor and dividend, negate quotient if signs disagree. Set sign of remainder to match sign of dividend. Same hardware can be used for multiply and divide. Divide by Zero .