Purpose |
Shift the bits in an
|
Syntax |
SHIFT [SIGNED] {LEFT | RIGHT} ivar, countexpr |
Remarks |
ivar must be one of the integral-class variable types: Byte, Word, Integer, Double-word, Long-integer, or Quad-integer. countexpr is an integral-class expression specifying the number of bits by which to shift ivar. SHIFT shifts all the bits in ivar without special regard to the sign bit of a signed integral-class variable. |
SIGNED |
The SIGNED option shifts everything, but does not allow the sign (positive or negative) of the value to change. |
LEFT | RIGHT |
The LEFT or RIGHT option determines the direction of the bit SHIFT operation. SHIFT LEFT shifts the bits toward the high-order end of ivar, and SHIFT RIGHT shifts bits toward the low-order end of ivar. |
See also |
AND, BIT function, BIT statement, BITS functions, NOT, OR, ROTATE, XOR |
Example |
DIM i AS BYTE n = 221 SHIFT LEFT n, 1 ' binary 1 1 0 1 1 1 0 1 ' n = 186 ' binary 1 0 1 1 1 0 1 0
n = 221 SHIFT RIGHT n, 1 ' binary 1 1 0 1 1 1 0 1 ' n = 110 ' binary 0 1 1 0 1 1 1 0
n = 221 SHIFT SIGNED RIGHT n, 1 ' binary 1 1 0 1 1 1 0 1 n = 238 ' binary 1 1 1 0 1 1 1 0 |