大家好,又见面了,我是你们的朋友全栈君。
运算符两边的表达式的值都为true运算结果为true, 其余情况为false。
运算符两边的表达式的值都为false运算结果为false, 其余情况为true。
计算方法: 参加运算的两个数,换算为二进制(0、1)后,进行与运算。只有当 相应位上全部为1时取1, 存在0时为0。
011 & 110
011
110
---
010
计算方法: 参加运算的两个数,换算为二进制(0、1)后,进行或运算。只要当 相应位上存在1时取1, 全部为0时为0。
011 | 110
011
110
---
111
计算方法: 参加运算的两个数,换算为二进制(0、1)后,进行异或运算。只有当 相应位上的数字相同时取1, 不相同为0。
011 ⊙ 110
011
110
---
010
计算方法: 参加运算的两个数,换算为二进制(0、1)后,进行异或运算。只有当 相应位上的数字不相同时取1, 相同为0。
011 ^ 110
011
110
---
101
计算方法:
参加运算的两个数,换算为二进制(0、1)后, 0变1, 1变0。
~(010) = 101
not>and>xor>or
2019.7.30学习线性基更新
while (tem) {
tem &= (tem-1);
cnt++;
}
就是^运算 注意运算顺序
typedef long long ll;
cout<<1^2<<endl; //报错
cout<<(1^2)<<endl; //输出3
int a = 1^2<5;
int b = (1^2)<5;
cout<<a<<" "<<b<<endl; //输出0 1
int c = 1ll<<3;
cout<<c<<endl; //输出8 ll防止在往前移位的时候爆掉int
x ^ x = 0 任何数 ^ 0 = 任何数
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/134869.html原文链接:https://javaforall.cn