两者只有一个区别,即作用不同。
1、>> 表示右移,如果该数为正,则高位补0,若为负数,则高位补1。如:int i=15; i>>2的结果是3,移出的部分将被抛弃。
转为二进制的形式可能更好理解,0000 1111(15)右移2位的结果是0000 0011(3),0001 1010(18)右移3位的结果是0000 0011(3)。
java中测试代码如下:
2、>>>表示无符号右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位同样补0。
按二进制形式把所有的数字向右移动对应巍峨位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。其他结构和>>相似。
测试代码如下:
扩展资料:
一、其他位运算符:
二、运算符之间,按优先级顺序排列为:
1:~;
2:<<、>>;
3:&;
4:^;
5:|;
6:&=、^=、|=、<<=、>>=。
参考资料来源:百度百科--位运算符
参考资料来源:百度百科-->>