按位异或运算符 ‸
按位异或运算符 (以 EBCDIC 表示, ‸ 符号由 ¬ 符号表示) 将其第一个操作数的每个位与第二个操作数的相应位进行比较。 如果两个位都是 1的位或两个位都是 0的位,那么结果的相应位将设置为 0。 否则,它会将相应的结果位设置为 1。
两个操作数都必须具有整数或枚举类型。 对每个操作数执行通常的算术转换。 结果的类型与转换后的操作数相同,不是 lvalue。
因为按位互斥 OR 运算符同时具有关联属性和交换属性,所以编译器可以在包含多个按位互斥 OR 运算符的表达式中重新排列操作数。 请注意, ‸ 字符可以由 trigraph ??'表示。
以下示例显示了 a, b的值以及以 16 位二进制数字表示的 a ‸ b 的结果:
a 的位模式 |
0000000001011100 |
b 的位模式 |
0000000000101110 |
a ‸ b 的位模式 |
0000000001110010 |