如果a = 2
和b = 4
其中a OR b = 6
和(a|b) AND NOT b = a
则按位AND NOT
等于减法,当该值是一组标志时已知包含要删除的标志?
添加内容也一样吗?
请注意,这是在已知标记存在于集合中的情况下。如果该标志不存在,则不会进行加法或减法。
答案 0 :(得分:2)
如果我正确理解您的要求,可以。所以:
(a & b) == 0
,则为(a | b) == (a + b)
,并且(a | b) == a
,则(a & ~b) == (a - b)
作为一种证明,可以将加法运算写为a + b == (a ^ b) + ((a & b) << 1)
(这是在不带进位的情况下进行所有和,然后分别加进位)。因此,如果a & b
为零,则进位消失,而变为a ^ b
,进而变成a | b
。减法也会发生类似的情况,我们知道没有借位。
答案 1 :(得分:0)
仅当您对第一个操作数中的1位绝对值不是的值进行“或”运算,或与其1位的肯定是值的比特负值进行“与”运算时>在第一个操作数中。