C语言中运算符=和&=的优先级为什么相同?后者是什么意思?

2024-12-04 09:48:41
推荐回答(1个)
回答1:

先说一下&=,和+=、-=一样,a&=b等同于a=a&b,都是赋值运算符,所以他们优先级都一样。
很多人都把&和&&搞混,&&是逻辑运算符,叫做与,它计算的结果只有0和1两个;&叫做按位与,优先级比&&高,它的计算方法是把两个数都转化成二进制,然后对应的每一位分别进行与运算,得到的数是结果。
例如说 int a=2; int b=3; a&=b;
2的二进制是10
3的二进制是11
按位与结果是10,即a=2
不理解欢迎追问!