一个巧妙记忆位操作符作用的方法:
&:并集是1才是1
| :补集是1才是1
^ : 相同为0,不同为1
![](https://i-blog.csdnimg.cn/blog_migrate/61ba52e0142933aa4b358d26cb04f3c9.png)
一,修改某一位为1
int main()
{
int a = 3;
//00000000000000000000000000000011
a |= (1 << 3);
//00000000000000000000000000000001
//00000000000000000000000000001000
//计算:| 补集是1才是1
//00000000000000000000000000000011
//00000000000000000000000000001000
//00000000000000000000000000001011
printf("a=%d", a);
return 0;
}
输出示例:
a=11
二,修改某一位为0
再将上述所得的11改为3的办法
int main()
{
int a = 11;
a &= (~(1 << 3));
printf("a=%d", a);
return 0;
}
a=3