XOR 中的 Exclusive 真的适用于两个以上的输入吗?

Posted

技术标签:

【中文标题】XOR 中的 Exclusive 真的适用于两个以上的输入吗?【英文标题】:Is Exclusive in XOR really appropriate for more than two inputs? 【发布时间】:2017-07-26 04:21:26 【问题描述】:

XOR 中的 Exclusive 对两个以上输入的真正含义是什么?不独占一词是否暗示只有一个输入必须为真,而不是奇数个输入。请注意,输入是按顺序排列的。 这可能看起来像重复的问题,但所有类似的问题只回答两个输入,因此让我感到困惑。

【问题讨论】:

输入是顺序异或还是并行?例如1 XOR 0 XOR 1(顺序)还是 01 XOR 11(并行)? 输入是按顺序排列的。 谢谢。如果它们是并行的,那么我将添加另一个答案。您将来可能想为其他人更新问题。 【参考方案1】:

只为两个操作数定义异或,例如添加。就像加法一样,它恰好是关联。这意味着

(a xor b) xor c = a xor (b xor c)

对于所有输入 abc

对于关联操作,习惯上去掉括号,因为它们不能改变表达式的含义:

(a + b) + c = a + (b + c) = a + b + c
(a xor b) xor c = a xor (b xor c) = a xor b xor c

可以粗略地说是对一堆值进行异或运算,但底层操作总是需要两个操作数。

【讨论】:

感谢您的回答。但是我的老师很少有人说不同意,但我同意。它甚至印在印度卡纳塔克邦的一本未经认证的书(第 XIIth State board Computer Science)上,它接受三个输入。无论如何,你解决了我的问题。谢谢。 我不赞成这个答案,因为在逻辑或电子电路设计中没有理由不能为两个以上的输入定义 XOR。 XOR(a1,a2,...an) 在概念上意味着恰好一个参数 a1,a2,...an 必须为真。 @MattClarke 当然可以定义这样的操作,但请不要将其称为“异或”以避免可怕的混淆。谢谢。 什么混乱?你会说 AND 和 OR 不能有两个以上的操作数吗?为什么不呢? 我刚读到electronics.stackexchange.com/questions/93713/…。现在我可以看到混乱了。

以上是关于XOR 中的 Exclusive 真的适用于两个以上的输入吗?的主要内容,如果未能解决你的问题,请参考以下文章

Python 操作Redis

python爬虫入门----- 阿里巴巴供应商爬虫

Python词典设置默认值小技巧

《python学习手册(第4版)》pdf

Django settings.py 的media路径设置

Python中的赋值,浅拷贝和深拷贝的区别