numeric-expression shift numeric-expression


The result of a shift operator is: the bit sequence specified by the first operand shifted up by the number of places indicated by the second operand.

  • If the second operand is positive, the bits are shifted up by the amount specified.
  • If it is 0, the bits are not shifted.
  • If it is negative, the bits are shifted down by the absolute value of the second operand.

As bits are shifted, the positions which are no longer occupied are filled with zeros. Thus, shifting a bit sequence by 32 or more in either direction will result in a sequence of all zeros. Bits which go "off the end" are discarded. The result is always a sequence of 32 bits.

This line causes the bit that is second from the bottom to be set to 1, while the rest are set to 0:

  set c to 1 shift 1

Related Concepts