>>表示右移(像一个指向右的箭头),后面数是几,符号位就右移几位,高位的空位补符号位,即正数补0,负数补1。这里用二进制表示可能比较容易理解。
15的二进制:0000 1111
15>>1就表示:0000 1111——》
0000 0111,所以15>>1等于7。
15>>2就表示:0000 1111——》
0000 0011,所以15>>2等于3。
<<表示左移,这个就容易记了。左移一位就表示乘以2,左移n位即表示乘以2的n次方。
15<<1=30;
15<<3=120;
>>>表示无符号右移,后面数是几,符号位就右移几位。右移中不足的全都补0,多余部分丢弃。这也是和>>的不同之处。
JAVA中没有<<<,就是没有,没有为什么。qaq
虽然开发中貌似用的比较少,但是还是需要了解的。