比较顺序不同的按位运算 - (0 到 1) 与 (1 到 0)
Posted
技术标签:
【中文标题】比较顺序不同的按位运算 - (0 到 1) 与 (1 到 0)【英文标题】:Bitwise operation with difference in order of comparison - (0 to 1) vs (1 to 0) 【发布时间】:2017-03-29 23:54:00 【问题描述】:我有一个问题,其中有两组位正在比较。第一个是初始状态,第二个是新状态。
Initial State 1010
New State 1100
我想按位比较这些位集并生成第三个位集,它代表所有变高的位 (0->1) 但不是那些变低的位 (1->0)
Desired Result 0100
最初为 0 并变为 1 的位为高位。高位和变低的位被忽略,因此 OR 和 XOR 似乎不太正确。
有没有一种优雅的方法可以用位运算符来完成这个?
【问题讨论】:
【参考方案1】:换句话说,您正在寻找在初始状态中未设置而在新状态中已设置的位。所以:
LOW2HIGH = ~INITIAL & NEW
【讨论】:
谢谢,就是这样!以上是关于比较顺序不同的按位运算 - (0 到 1) 与 (1 到 0)的主要内容,如果未能解决你的问题,请参考以下文章