我遇到的问题是有两组比特被比较。第一个是初始状态,第二个是新状态。
Initial State 1010
New State 1100
我想逐位比较这些位集并生成第三个位集,表示所有位变为高位(0-> 1)但不是那些变为低位(1-> 0)
Desired Result 0100
比特很高,最初为0并且变为1.高位且变低的位被忽略,因此OR和XOR看起来不太正确。
使用按位运算符是否有一种优雅的方法来实现这一目标?
答案 0 :(得分:2)
换句话说,您正在查找初始状态未设置且在新状态下设置的位。所以:
LOW2HIGH = ~INITIAL & NEW