左移运算符:<<
二进制左移几位就是后面加几个0,前面去掉几位,负数的左移,跟正整数左移一样,右边补0,一直左移的话,最后就是0啦。
举例说明:2<<2 为8 ; -8<<2为32

右移运算符:<<
右移几位就是在二进制的前面加几位(正数加0,负数加1),后面去掉几位,由于要保持它是负数,所以负数的二进制的右边补1。如果一直右移的话,最后就就变成0xFFFFFFFF 即-1。
举例说明: 4>>2 为1 ;-8>>为-2

道理也很简单,比如一个十进制的数2,左移一位,后面补0,就是20,相当于乘以10,二进制的左移相当于乘以2,右移相当于除以2。
进制的左移相当于乘以2,右移相当于除以2。