C语言运算符 |和^各有什么功能?

比如5|3,5^3在C语言都是怎么运算的

|表示按位或,规则是一个为1或二个都为1,结果为1,^表示按位异或,规则是相同为0,相异为1。首先把两个操作数化成二进制,然后按位进制操作:
5|3
5的二进制00000101
3的二进制00000011
00000111(化为十进制是7)
5^3
5的二进制00000101

3的二进制00000011
00000110(化为十进制是6)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-07
这两个都是位操作运算符
|是或操作,只有两边都是0的时候,结果对应位上才是0
5|3 = 101|011=111 = 7

^是异或操作,相同为0,不同为1.
5^3=101|011=110=6本回答被网友采纳
第2个回答  2016-01-07
| “按位或”运算符 一位一位 的 两个相应的二进制位中只要有一个为1,该位的结果值为1。 一般用于 置一 1 | 1 = 1; 0|1 =1; 1|0 =1 ;0|0 =0
1 ^ 1 = 0; 0^1 =1; 1^0 =1 ;0|0 =0;
^异或 必须不同 若参加运算的两个二进制位同号则结果为0(假)异号则结果为1(真
看清上面的 那个例子 就明白了
相似回答