微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

(A XOR B) 与 (!A XOR !B) 不一样吗?

如何解决(A XOR B) 与 (!A XOR !B) 不一样吗?

我想知道 !(A xor B) 是否等于 (!A xor !B)? 我正在努力理解这个问题背后的逻辑。

解决方法

不,他们不是。

A xor B 等于 1 当且仅当 AB 中的任何一个是 1 但不是两者都是。因此,!(A xor B) 等于 1 当且仅当 AB 都相等。

而对于 (!A xor !B),您首先翻转位,然后进行 XOR。所以(!A xor !B) = (A xor B)

这是第一个的真值表:

A | B | A xor B | !(A xor B)
============================
0 | 0 |       0 |          1
0 | 1 |       1 |          0
1 | 0 |       1 |          0
1 | 1 |       0 |          1

对于第二个:

A | B | !A | !B | (!A xor !B)
=============================
0 | 0 |  1 |  1 |         0
0 | 1 |  1 |  0 |         1
1 | 0 |  0 |  1 |         1
1 | 1 |  0 |  0 |         0
,

如有疑问,请使用真值表。 A 和 B 可以是 1 或 0 所以:

A xor B:
0 1
1 0

! (A xor B)
1 0
0 1

! A xor ! B:
0 1
1 0

所以,答案是否定的。它们似乎与初始异或相同。

,

一步一步地查看结果列,我们发现它们不会基于相同的输入产生相同的输出。

A B A XOR B not(A XOR B)
0 0 0 1
0 1 1 0
1 0 1 0
1 1 0 1
A B !A !B (!A XOR !B)
0 0 1 1 0
0 1 1 0 1
1 0 0 1 1
1 1 0 0 0
,

它们不相等。您可以查看下表以获得进一步的解释。

+---+---+-------+--------+----+----+-------+
| A | B | (A^B) | !(A^B) | !A | !B | !A^!B |
+---+---+-------+--------+----+----+-------+
| 0 | 0 |     0 |      1 |  1 |  1 |     0 |
| 0 | 1 |     1 |      0 |  1 |  0 |     1 |
| 1 | 0 |     1 |      0 |  0 |  1 |     1 |
| 1 | 1 |     0 |      1 |  0 |  0 |     0 |
+---+---+-------+--------+----+----+-------+

编辑:计算 !(A^B) 而不使用 A、B、A' 和 B' 的 NOT 操作

XOR(A,B) = OR(AND(A,B'),AND(A',B))

将 DeMorgan 用于上述等式后:

NOT XOR(A,B) = AND(OR(A',B),OR(A,B'))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。