逻辑运算符'A并不意味着使用AND,OR,XOR运算符'

时间:2010-11-21 10:13:15

标签: operators logic bitwise-operators

我有两个位掩码(比如 A B ,我想知道 A 的哪一位是1,其中对应的< em> B 位为0(反之亦然)。

当然这可以使用条件语句实现,但我不想迭代/移位来测试位掩码的所有位。

我需要的逻辑条件没有实现(至少,我看不到它)。使用与逻辑门的并行,我需要运算符'A并不意味着B'(参见Wikipedia)。

是否可以使用AND,OR,XOR运算符实现此类运算符?

3 个答案:

答案 0 :(得分:2)

根据链接的维基百科,最简单的表达是A and (not B)

答案 1 :(得分:1)

您可以使用:

A xor(不是B)

A xor B

分析:

A  B  A xor B
0  0     0
0  1     1
1  0     1
1  1     0

编辑:

将其更改为简单的异或,提供问题所要求的结果。也许问题的措辞不正确,因为解决方案似乎太简单了......

答案 2 :(得分:0)

我会说:

A AND (A XOR B)

给出1,其中A为1,B为0。

首先检测A和B的不同之处,然后匹配A为1的位置。