java 位运算符_Java位运算符示例

Java定义了几个按位运算符,可以应用于整数类型, 如:long,int,short,char和byte。按位运算符处理位并执行逐位运算。 假设a = 60且b = 13; 采用二进制格式,它们将如下 -

a = 0011 1100

b = 0000 1101

-----------------

a&b = 0000 1100

a|b = 0011 1101

a^b = 0011 0001

~a = 1100 0011

下面的表中列出了按位运算符,假设整数变量A=60,变量B=13,那么 -

运算符

描述

示例

&

二进制AND运算符,如果存在于两个操作数中,则它会将结果复制到结果中。

A & B的结果为:12,也就是:0000 1100

Ι

二进制OR运算符,如果存在于任一操作数中,则复制一位。

A Ι B 的结果为:61,也就是:0011 1101

^

二进制异或运算符,如果在一个操作数中设置但不在两个操作数中设置,则复制该位。

A ^ B的结果为:49,也就是:0011 0001

~

二元一元补充运算符是一元的,具有“翻转”位的效果。

~A的结果为:-61,也就是:1100 0011

<<

二进制左移运算符,左操作数值向左移动右操作数指定的位数。

A << 2的结果为:240,也就是:1111 0000

>>

二进制右移运算符,左操作数值向右移动右操作数指定的位数。

A >> 2的结果为:15,也就是:1111

>>>

右移零填充运算符。 左操作数值向右移动右操作数指定的位数,移位值用零填充。

A >>>2的结果为:15,也就是:0000 1111

public class Test {

public static void main(String args[]) {

int a = 60; /* 60 = 0011 1100 */

int b = 13; /* 13 = 0000 1101 */

int c = 0;

c = a & b; /* 12 = 0000 1100 */

System.out.println("a & b = " + c );

c = a | b; /* 61 = 0011 1101 */

System.out.println("a | b = " + c );

c = a ^ b; /* 49 = 0011 0001 */

System.out.println("a ^ b = " + c );

c = ~a; /*-61 = 1100 0011 */

System.out.println("~a = " + c );

c = a << 2; /* 240 = 1111 0000 */

System.out.println("a << 2 = " + c );

c = a >> 2; /* 15 = 1111 */

System.out.println("a >> 2 = " + c );

c = a >>> 2; /* 15 = 0000 1111 */

System.out.println("a >>> 2 = " + c );

}

}

执行上面示例代码,得到以下结果:

a & b = 12

a | b = 61

a ^ b = 49

~a = -61

a << 2 = 240

a >> 2 = 15

a >>> 2 = 15

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值