C语言中“>>=,<<=,&=,^=,|=”分别表示什么意思?请举例说明

2025-03-21 00:04:16
推荐回答(1个)
回答1:

这些是位运算
>>= 右移
int x=8;//1000
x>>=2;//0010 x=2
<<=左移 跟上面的一样 只不过向左位移 省略……
&=位与
int x=11;//1011
x&=7;0011 &0111 结果 x=3 0011 在二进制上做与运算
^=异或
int x=3;//0011
x^=7;0011^0111 结果 x=4 0100 比较两个位不相同的得1
|=位或
int x=1;//0001
x|=6;//0001 | 0110 结果x=7 0111 位的或运算 两个位只要有一个是1就得1