& 和 | 和 ~
O(∩_∩)O~~浅理解,不足之处请多指正,谢谢。
1) &
& :二目运算符,把运算符两侧的数换成 二进制 再依次求与。
例如:a = 2,b = 3;
c = a & b;
相当于:0010
0011
c: 0010 = 2;
2) | 和 ||
| :二目运算符,对两个条件都判断。
例如: a = 2,b = 3;
if(a++|b++)
{
cout << "hello" << endl;
}
运算后 :a = 3,b = 4; (a,b 都加一)
||:
if(a++||b++)
{
cout << “boy” << endl;
}
运算后 :a = 3,b = 3; (a+1,b不加)
3) ~
~:单目运算符,换成二进制,按位取反。
a = 0010 = 2;
~a = 1101;
~a是负数,把二进制负数换成十进制方法是:按位取反,再加一。
则:
~a = 1101
= 0010 + 1
= 0011
= -3;