我有两个位掩码(比如 A 和 B ,我想知道 A 的哪一位是1,其中对应的< em> B 位为0(反之亦然)。
当然这可以使用条件语句实现,但我不想迭代/移位来测试位掩码的所有位。
我需要的逻辑条件没有实现(至少,我看不到它)。使用与逻辑门的并行,我需要运算符'A并不意味着B'(参见Wikipedia)。
是否可以使用AND,OR,XOR运算符实现此类运算符?
答案 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的位置。