按位与(&)按位或(|)按位异或(^)左移运算,右移运算
按位与规则:
(按位与规则和&&规则很像只不过是在二进制位的基础上)
如:0&0=0,1&1=1,1&0=0,0&1=0
按位或规则:
(同理和||或运算符相同只是在二进制位的基础上)
如:0|0=0,1|0=1,0|1=1,1|1=1
按位异或规则
(左右两边相同则返回0,不同则返回1)
如:0 ^ 0=0,1 ^ 0=1,0 ^ 1=1,1 ^ 1=0
左移运算和右移运算
实例:
#include <iostream>
using namespace std;
int main()
{
int a=8,b=13;
int x1,x2,x3;
x1=a&b;
/* 8 1000
* 13 1101
* x1 1000 =8
*/
x2=a|b;
/* 8 1000
* 13 1101
* x2 1101 =13
*/
x3=a^b;
/* 8 1000
* 13 1101
* x2 0101 =5
*/
cout<<x1<<" "<<x2<<" "<<x3<<endl;
return 0;
}