码迷,mamicode.com
首页 > 编程语言 > 详细

Java右移运算符>>和>>>

时间:2018-03-29 22:45:18      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:相同   结果   bsp   class   表示   操作   因此   负数   符号位   

java提供两种右移运算符,属于位运算符。位运算符用来对二进制位进行操作。
>>  :算术右移运算符,也称带符号右移。用最高位填充移位后左侧的空位。
>>>:逻辑右移运算符,也称无符号右移。只对位进行操作,用0填充左侧的空位。
 
表达式为:
r = e1 >> e2;
r = e1 >>> e2;
表示把数e1向右移动e2位。
 
运算规则:
>>  :按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补符号位,即正数补零,负数补1。符号位不变。
>>>:按二进制形式把所有的数字向右移动对应位数,低位移出(舍弃),高位的空位补零。对于正数来说和带符号右移相同,对于负数来说不同。
 
按上一篇,-1在32位二进制中表示为:
11111111 11111111 11111111 11111111
-1>>1:按位右移,符号位不变,仍旧得到
11111111 11111111 11111111 11111111
因此值仍为-1
 
而-1>>>1的结果为  01111111 11111111 11111111 11111111

Java右移运算符>>和>>>

标签:相同   结果   bsp   class   表示   操作   因此   负数   符号位   

原文地址:https://www.cnblogs.com/mithrandirw/p/8670859.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!