按比例顺序的按位运算 - (0到1)vs(1到0)

时间:2017-03-29 23:54:00

标签: bit-manipulation bitwise-operators bit boolean-logic bitmask

我遇到的问题是有两组比特被比较。第一个是初始状态,第二个是新状态。

Initial State 1010
New State     1100

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

Desired Result 0100

比特很高,最初为0并且变为1.高位且变低的位被忽略,因此OR和XOR看起来不太正确。

使用按位运算符是否有一种优雅的方法来实现这一目标?

1 个答案:

答案 0 :(得分:2)

换句话说,您正在查找初始状态未设置在新状态下设置的位。所以:

LOW2HIGH = ~INITIAL & NEW
相关问题