运算符 含义
&(清0) 按位与 0&0=0, 0&1=0, 1&0=0, 1&1=1
|(置1) 按位或 0|0=0, 1|0=1, 0|1=1, 1|1=1
^ 按位异或 0^0=0, 1^0=1, 0^1=1, 1^1=0
~ 取反
在逻辑左右移移出去的直接丢弃,空出来的补0
算术右移移出去的直接丢弃 空出来的补符号位
<< 左移
>> 右移
#include <stdio.h>
int main(void)
{
int value=1;
//将value第20 和22为置1
value=value | (0x5<<20);
printf("value:0x%x\n",value); //二进制度10100000000000000000001,十进制度5242881
//将value第20 和22为清0
value=value & (~(0x5<<20));
printf("value:0x%x\n",value);
return 0;
}