综合百科

C语言 异或 运算符的使用

在 C99 之前,并没有 , 和,都是用 类型表示布尔值。 例如 这个表达式的求值结果是 , 这个表达式的求值结果是 。

但所有逻辑运算符(logical operator)中,其操作数(operand)都是以

非零

去判断假和真的。例如,对一元的逻辑取反(negation)运算符而言:

而 是比较运算符(comparison operator), 只比较左右两个值是否不相等,求值出 或 。

在一般编程下,你可以用逻辑运算符(, 和)来处理比较运算符的结果。

另外,还有一个相关的问题,C 语言有 表示逐位异或(bitwise XOR), 为什么没有逻辑异或?

答案是,对于操作数限于 和 的时候, 就是逻辑异或。如果需要判断零与非零, 可写成 。