int main() {
// 按位&
//int a = 3;
//int b = 5;
//int c = a & 5;
// a 的32位bit 表示 00000000 00000000 00000000 00000011
// b 的32位bit 表示 00000000 00000000 00000000 00000101
// c 的32位bit 表示 00000000 00000000 00000000 00000001
// a与b 的bit位 只要有一个是0就是0, 2个都为1 的时候就是1
//printf("%d", c);
//按位或
//int a = 3;
//int b = 5;
//int c = a | 5;
//& 运算符 a 的32位bit 表示 00000000 00000000 00000000 00000011
// b 的32位bit 表示 00000000 00000000 00000000 00000101
// c 的32位bit 表示 00000000 00000000 00000000 00000111
//a与b 的bit位 只要有一个是1就是1
//printf("%d", c);
//按位异或 ^
int a = 3;
int b = 5;
int c = a ^ 5;
//& 运算符 a 的32位bit 表示 00000000 00000000 00000000 00000011
// b 的32位bit 表示 00000000 00000000 00000000 00000101
// c 的32位bit 表示 00000000 00000000 00000000 00000110
//a与b 的bit位 相同为0 ,相异为1
printf("%d", c);
//按位取反~
int a = 0;
//& 运算符 a 的32位bit 表示 00000000 00000000 00000000 00000000
// 11111111 11111111 11111111 11111111
//
printf("%d", c);
return 0;
}