Java中的位运算符:
>>:示意右移,假如该数为正,则高位补0,若为负数,则高位补1;
>>>:示意无标记右移,也叫逻辑右移,即若该数为正,则高位补0,而若该数为负数,则右移后高位一样补0。
表达式为:
result = exp1 >> exp2; result = exp2 >>> exp2;
示意把数exp1向右挪动exp2位。
比方:
res = 20 >> 2;
20的二进制为 0001 0100,右移2位后为 0000 0101,则效果就为 res = 5;
res = -20 >> 2;
-20的二进制为其正数的补码加1,即 1110 1011,右移2位后为 1111 1100,效果为 res = -6;
而关于>>>标记而言:
res = 20 >>> 2;
效果与 >> 雷同;
res = -20 >> 2;
-20的二进制为 1110 1011,右移2位,此时高位补0,即 0011 1010,效果为 res = 58;
补充:
<< 是与>>对应的左移运算符,示意将exp1向左挪动exp2位,在低位补0。实在,向左挪动n位,就相当于乘以2^n。
左移没有<<<运算符!
引荐教程:Java教程
以上就是java中>>>和>>的区分的细致内容,更多请关注ki4网别的相干文章!