These instructions have one operand and produce one result. These instructions may be shorter than dyadic since one fewer address has to be specified. Instructions include shift and rotate . Shifts are operations in which the bits are shifted left or right, with bits shifted off the end of the word being lost. Rotates are shifts in which bits pushed off one end reappear on the other end.
Rotate operations are useful in for packing and unpacking bit sequences from words.
If we need to test each bit in a word, rotating the word by 1 bit in either direction puts each bit in the sign bit position, where it can be tested. The original word is restored once all bits have been tested. Right shifts are often performed with sign extension. An important use of shifting is multiplication and division by powers of 2. If a positive number is shifted left k bits, the result is is the original number multiplied by 2 k .