比较顺序不同的按位运算 - (0 to 1) vs (1 to 0)

Bitwise operation with difference in order of comparison - (0 to 1) vs (1 to 0)

我有一个问题,有两组位正在比较。第一个是初始状态,第二个是新状态。

Initial State 1010
New State     1100

我想按位比较这些位集并生成第三个位集,它表示所有变高的位 (0->1) 但不是变低的位 (1->0)

Desired Result 0100

最初为 0 并变为 1 的位为高位。高位变为低位的位将被忽略,因此 OR 和 XOR 似乎不太正确。

有没有一种优雅的方法可以使用按位运算符来完成此操作?

换句话说,您正在寻找初始状态未设置且新状态已设置的位.所以:

LOW2HIGH = ~INITIAL & NEW