Java语言中定义了几个按位运算符,
按位运算可用于整数类型
如:long
,int
,short
,char
和byte
。
按位运算符处理位并执行逐位运算。
如:X = 60
且Y = 13
;
则它们的二进制数据如下所示:
X = 0011 1100
Y = 0000 1101
-----------------
X&Y = 0000 1100
X|Y = 0011 1101
X^Y = 0011 0001
~X = 1100 0011
下面的表中列出了按位运算符,假设整数变量A=60
,变量B=13
,那么 -
运算符 | 描述 | 示例 |
---|---|---|
& |
二进制AND运算符,如果存在于两个操作数中,则它会将结果复制到结果中。 | X & Y 的结果为:12 ,也就是:0000 1100 |
Ι | 二进制OR运算符,如果存在于任一操作数中,则复制一位。 | X Ι Y 的结果为:61 ,也就是:0011 1101 |
^ |
二进制异或运算符,如果在一个操作数中设置但不在两个操作数中设置,则复制该位。 | X ^ Y 的结果为:49 ,也就是:0011 0001 |
~ |
二元一元补充运算符是一元的,具有“翻转”位的效果。 | ~X 的结果为:-61 ,也就是:1100 0011 |
<< |
二进制左移运算符,左操作数值向左移动右操作数指定的位数。 | X << 2 的结果为:240 ,也就是:1111 0000 |
>> |
二进制右移运算符,左操作数值向右移动右操作数指定的位数。 | X >> 2 的结果为:15 ,也就是:1111 |
>>> |
右移零填充运算符。 左操作数值向右移动右操作数指定的位数,移位值用零填充。 | X >>>2 的结果为:15 ,也就是:0000 1111 |
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。