我遇到了以下代码片段
if( 0 != ( x ^ 0x1 ) ) encode( x, m );
是什么x ^ 0x1意思?这是一些标准技术吗?
x ^ 0x1
XOR 操作 ( x ^ 0x1) 反转位 0。因此表达式有效地表示:如果 x 的位 0 为 0,或 x 的任何其他位为 1,则表达式为真。
相反,如果 x == 1,则表达式为假。
所以测试是一样的:
if (x != 1)
因此(可以说)被不必要地混淆了。