一、逻辑运算符
运算符 | 含义 |
---|---|
& | 逻辑与,运算符左右两边都要执行 |
&& | 逻辑与,左边为false,右边不用执行 |
| | 逻辑或,左边为true,右边也要执行 |
| | | 逻辑或,左边为true,右边不用执行 |
例子:
&
&&
|
||
二、位运算符
位运算符主要针对二进制,逻辑运算符是针对两个关系运算符来进行逻辑运算
运算符 | 含义 |
---|---|
& | 与运算符 |
| | 或运算符 |
^ | 异或运算符 |
~ | 非运算符 |
例子: int a=3; int b=5;
1、a & b
&运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1;
a 的二进制是:0011
b 的二进制是:0101
根据 & 运算规则得出:
a二进制第一位和b二进制第一位对比,0 & 0=0;
a二进制第二位和b二进制第二位对比,0 & 1=0;
a二进制第三位和b二进制第三位对比,1 & 0=0;
a二进制第四位和b二进制第四位对比,1 & 1=1;
得出0001,将0001(二进制)转为十进制得出1,a & b =1
2、a | b
| 运算规则:0|0=0; 0|1=1; 1|0=1; 1|1=1
a 的二进制是:0011
b 的二进制是:0101
根据 | 运算规则得出:
a二进制第一位和b二进制第一位对比,0 | 0=0;
a二进制第二位和b二进制第二位对比,0 | 1=1;
a二进制第三位和b二进制第三位对比,1 | 0=1;
a二进制第四位和b二进制第四位对比,1 | 1=1;
得出0111,将0111(二进制)转为十进制得出7,a | b =7
3、a ^ b
^ 运算规则:两个数据相同为0,两个数据不同为1
a 的二进制是:0011
b 的二进制是:0101
根据 ^ 运算规则得出:
a二进制第一位和b二进制第一位对比,0 ^ 0=0;
a二进制第二位和b二进制第二位对比,0 ^ 1=1;
a二进制第三位和b二进制第三位对比,1 ^ 0=1;
a二进制第四位和b二进制第四位对比,1 ^ 1=0;
得出0110,将0110(二进制)转为十进制得出6,a ^ b =6