我遇到了以下代码片段

if( 0 != ( x ^ 0x1 ) )
     encode( x, m );
x ^ 0x1是什么意思?这是一些标准技术吗?

最佳答案

XOR操作(x ^ 0x1)将位0反转。因此该表达式有效地表示:如果x的位0为0,或者x的任何其他位为1,则该表达式为true。

相反,如果x == 1,则表达式为false。

因此测试与以下内容相同:

if (x != 1)

因此(毫无疑问)被不必要地混淆了。

10-06 14:57