A rather whimsical way of viewing arithmetic right shifts is to imagine the bit string as encoded on a rubber band and the left end is anchored to a wall. Pull as we might, we cannot dislodge the MSB from the wall, but it just stretches. So the 1s copy themselves into bit places to the right, as do 0s if the number were originally positive. In a similar vein, an arithmetic left shift is like pushing a piece of paper into a wall. It crumples up against the wall, the left end of the bit string, and does not change the wall. |