C语言 异或 运算符的使用
在 C99 之前,并没有 , 和,都是用 类型表示布尔值。 例如 这个表达式的求值结果是 , 这个表达式的求值结果是 。
但所有逻辑运算符(logical operator)中,其操作数(operand)都是以
零
和
非零
去判断假和真的。例如,对一元的逻辑取反(negation)运算符而言:
而 是比较运算符(comparison operator), 只比较左右两个值是否不相等,求值出 或 。
在一般编程下,你可以用逻辑运算符(, 和)来处理比较运算符的结果。
另外,还有一个相关的问题,C 语言有 表示逐位异或(bitwise XOR), 为什么没有逻辑异或?
答案是,对于操作数限于 和 的时候, 就是逻辑异或。如果需要判断零与非零, 可写成 。