首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(A XOR B)不等于(!A XOR !B)吗?

(A XOR B)不等于(!A XOR !B)吗?
EN

Stack Overflow用户
提问于 2020-12-21 12:50:13
回答 3查看 1.2K关注 0票数 0

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-12-21 12:59:15

他们是不平等的。您可以查看下表以获得进一步的解释。

代码语言:javascript
复制
+---+---+-------+--------+----+----+-------+
| 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)

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

在对上面的方程使用DeMorgan之后:

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

票数 1
EN

Stack Overflow用户

发布于 2020-12-21 12:55:58

不他们不是。

A xor B等于1当且仅当AB都是1而不是两者兼而有之。因此,!(A xor B)等于1当且仅当AB都相等。

然而,使用(!A xor !B),您首先翻转位,然后执行异或。所以(!A xor !B) = (A xor B)

下面是第一张真值表:

代码语言:javascript
复制
A | B | A xor B | !(A xor B)
============================
0 | 0 |       0 |          1
0 | 1 |       1 |          0
1 | 0 |       1 |          0
1 | 1 |       0 |          1

至于第二个问题:

代码语言:javascript
复制
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
票数 1
EN

Stack Overflow用户

发布于 2020-12-21 12:58:22

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

代码语言:javascript
复制
A xor B:
0 1
1 0

! (A xor B)
1 0
0 1

! A xor ! B:
0 1
1 0

所以答案是否定的。它们似乎与最初的xor相同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65393104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档