The Shift Operators
There are 2 shift operators : left shift ( <<) and right shift (>>). These are binary operators. The format is
operand >> number or operand << number
The first operand is the value, which is to be shifted. The second is the number of bits by which it is shifted. The left shift operators shift 'number' bits to the left, while the right shift operators shift 'number' bits to the right. The leftmost and the rightmost bits are shifted out and are lost.
e.g.
char x, y = 0x80;
y = y >> 3;
x = y <<2;
y <<= 1;
x >>=2;
The char y( which is allocated a byte of space on a 16-bit machine) will have its bits shifted to the right three places. The value of y which was 0x80(1000 0000) is changed to 0xFo (1111 0000) , after y = y>>3.