Java中的移位操作的一些基本介绍
1、Java中的移位操作只有三种:有符号左移(<<),有符号右移(>>),无符号右移(>>>),并且都是针对补码。
2、x<<n : x的绝对值的补码左移n位,舍弃高位,同时在低位补0,如果移动的位数超越了该类型最大位数,那么编译器回对移动的位数取模,例如,对int型移动了33位,实际上只移动了33%32=1位;
3、x>>n : 若参与运算的数x为正数,则在高位补0,若参与运算的数x为负数,则在高位补1;
4、x>>>n : 参与运算的数x无论为正数还是负数都是在高位补0。