位运算——与(&)或(|)非(~)异或(^)

Posted xlwang888

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了位运算——与(&)或(|)非(~)异或(^)相关的知识,希望对你有一定的参考价值。

位运算符的计算是针对二进制进行的。

对于开发人员来讲,了解这些运算符是非常有必要的。

因此,记录我对这些运算符的理解。

 

 

0和1代表两种逻辑状态:0代表电路连通状态,1代表电路断开状态

 

与(&)运算

与运算的规则是这样的:

0&0=0

0&1=0

1&0=0

1&1=1

也就是说,只有电路都通与运算(&)的结果才是1,这类似于两个开关串联


 

或(|)运算

或运算的规则如下:

0|0 = 0

0|1 = 1

1|0 = 1

1|1 = 1

在或运算中,只要有一个为1,那么结果就为1,类似于两个开关并联


 

非(~)运算

非运算(~)就是取反运算 ~1 = 0      ~0 = 1

0110取反后的结果就是 1001

 


 

异或(^)运算

 

 

如果我们用0和1代表男和女,那么异或运算就可以比喻为“只有‘男人’和‘女人’才能生小孩”

即 :

1^0 = 1

0^1 = 1

0^0 = 0

1^1 = 0

以上是关于位运算——与(&)或(|)非(~)异或(^)的主要内容,如果未能解决你的问题,请参考以下文章

Java的位运算符详解实例——与(&)非(~)或(|)异或(^)

如何用“与”,“或”,“非” 实现 “异或”运算?

Java的位运算符详解实例——与(&)非(~)或(|)异或(^)

Java的位运算符详解实例——与(&)非(~)或(|)异或(^)(仅作记录)

与(&)非(~)或(|)异或(^)-java位运算

值类型取值范围与运算(&)或运算(|)非运算(~)异或运算(^)位运算和位枚举