【发布时间】:2014-01-07 21:36:22
【问题描述】:
我遇到了以下代码sn-p
if( 0 != ( x ^ 0x1 ) )
encode( x, m );
x ^ 0x1 是什么意思?这是一些标准技术吗?
【问题讨论】:
-
Code obfuscation 很标准。
-
这可以用与“正常”方程相同的方法求解:
0 != (x ^ 1)→ 两边异或 1 →(0 ^ 1) != (x ^ 1 ^ 1)→ 简化 →1 != x -
我看不出
if (1 != x)有多难写。 -
Various cmets,首先由 @Spook,明确指出
x的type没有给出 - 因此我们不知道这是这个 C++ 标记问题中的整数。当然,如果这是 C 或x是整数,答案很简单,但这不是给定的,并且存在重载operator ^的可能性。 -
我不明白这是怎么得到这么多支持的......
标签: c++ c bit-manipulation bitmask