独家或

独家或
XOR
Venn diagram of Exclusive or
真相表
逻辑门
正常形式
分离
连词
zhegalkin多项式
帖子的格子
0-preserving是的
1个冠军
单调
仿射是的
维恩图

独家或/或独家脱节独家交替逻辑上的非等效性逻辑不等式逻辑运算符,其否定为逻辑双条件。使用两个输入,XOR是正确的,并且仅当输入不同时(一个是正确的,一个是false)。使用多个输入,XOR是正确的,并且仅当真实输入的数量奇怪时。

它获得了“独家或”的名称,因为当两个操作数都是正确的时,“或”的含义是模棱两可的。 XOR排除了这种情况。描述XOR的一些非正式方法是“一个或另一个”,而不是两个”,“一个或另一个”和“ A或B,但不是A和B”。

它由前缀运算符和infix Operators Xor(,OR),EOR,Exor ,,,,,,,和和。

定义

该二进制walsh矩阵的每一行都是左侧所示参数的variadic xor的真实表。例如,行AB对应于2圈,将ABC行与上面显示的3圆Venn图相对应。 (就像在维恩图中一样,白色是错误的,红色为真。)

真实表显示,只要输入有所不同,它就会输出真实:

错误的错误的错误的
错误的真的真的
真的错误的真的
真的真的错误的

等价,消除和介绍

本质上是指“一个,但不是两者都不是”。换句话说,且仅当一个是真实而另一个是错误的时,该陈述是真实的。例如,如果两匹马正在比赛,那么两者之一将赢得比赛,但不是两者。可以用逻辑连词(“逻辑和”,),析取(“逻辑或“,”)和否定()和否定(),也可以用以下方式表示独家脱节,也可以用或表示:

独家分离也可以通过以下方式表示:

在构建电路或网络时,XOR的这种表示可能很有用,因为它只有一个操作,少量和操作。以下提供了此身份的证明:

有时以以下方式写入很有用:

或者:

可以通过将德·摩根的法律应用于上述证据的第四行来确定这种等价性。

通过物质含义的规则(有条件的条件等同于否定其先决条件及其后果)和物质等价性,排他性或等同于对逻辑双条件的否定。

总而言之,我们在数学和工程符号中都有:

否定操作员

可以应用德摩根法律的精神,我们有:

与现代代数关系

尽管运算符(连接)和(分离)在逻辑系统中非常有用,但它们以下面的方式使更具概括性的结构失败:

系统和单型,但两者都不是。不幸的是,这阻止了这两个系统与较大结构(例如数学环)的组合。

但是,使用独家或Abelian组的系统。操作员和元素的结合产生了众所周知的两元素领域。该字段可以代表可使用该系统获得的任何逻辑,并具有代数分析工具的武器库的额外好处。

更具体地说,如果一个人与0相关,则可以将逻辑“和”操作解释为乘法,而“ XOR”操作作为添加:

使用此基础,布尔函数作为多项式的描述称为该函数的代数正常形式。

独家或自然语言

通常以自然语言专门理解脱节。在英语中,通常仅对“或”脱节的单词“或“”,尤其是与粒子“要幺”一起使用时。下面的英语示例通常会在谈话中被理解为这意味着玛丽不是歌手又不是诗人。

1.玛丽是歌手或诗人。

但是,即使与“要幺”结合在一起,也可以包容析取。例如,下面的第一个示例表明,“要幺”可以与彻底的陈述相结合,即两个分离都是正确的。第二个示例表明,独家推论在向下的背景下消失。如果在此示例中将析取理解为排他性,那将使某些人都吃米饭和豆类。

2.玛丽要幺是歌手,要幺是诗人,要幺是两者兼而有之。
3.没有人吃米饭或豆类。

诸如以上的示例促使对排他性推论的分析是基于包容性语义计算的实用对话含义。含义通常是可以取消的,如果其计算取决于数量的最大值,则在向下的上下文中不会出现。但是,一些研究人员将排他性视为真正的语义范围,并提出了验证它的非古典逻辑。

其他语言也可以找到英语“或”的这种行为。但是,许多语言具有分离的构造,这些结构具有牢固的独家性,例如法语soit ... soit

替代符号

用于独家分离的符号从一个应用程序的一个字段到下一个符号,甚至取决于在给定的讨论背景中强调的属性。除了缩写“ XOR”外,还可以看到以下任何符号:

  • 乔治·布尔(George Boole)在1847年使用。尽管布尔主要在课堂上使用,但他还认为是命题的情况,当时是一个结缔组织。此外,Boole专门使用它。尽管这种用途并未显示包容性脱节(如今几乎是固定使用)和独家脱节之间的关系,并且可能会与其他用途产生困惑,但一些古典和现代教科书仍然保留这种使用。
  • 克里斯汀·拉德·弗兰克林(Christine Ladd-Franklin)在1883年使用。严格来说,拉德(Ladd逻辑代数”。
  • , denoting the negation of equivalence, was used by Ernst Schröder in 1890, Although the usage of as equivalence could be dated back to George Boole in 1847, during the 40 years after Boole, his followers, such as Charles Sanders Peirce, Hugh MacColl,朱塞佩·佩尼奥(Giuseppe peano)等等,从字面上看不相等,这可能是因为它可以轻松地从否定和等价中定义。
  • Giuseppe Peano在1894年使用:“。标志对应于拉丁自动;向Vel的标志。”请注意,拉丁单词“ aut”的意思是“独家或“ vel”的意思是“包容性或”,而Peano则将其用作包容性脱节。
  • 由Izrail Solomonovich Gradshtein(极)在1936年使用。
  • 克劳德·香农(Claude Shannon)于1938年使用。香农(Shannon)借用了该符号作为1904年从爱德华·弗里米里·亨廷顿(Edward Vermilye Huntington)的独家脱节。 1890年是出版时间)。而1904年的亨廷顿和1890年的莱布尼兹都将符号用作代数操作。此外,1904年的亨廷顿也将符号用作包容性析取(逻辑总和),并在1933年将其用作包容性脱节。
  • 阿隆佐教堂(Alonzo Church)在1944年使用了否定等价的否定。
  • (作为前缀运营商)是由乔兹夫·玛丽亚·博钦斯基(JózefAriaBocheński)在1949年使用作品确实有这样的用途。实际上,1949年,Bocheński引入了一种波兰语符号系统,该系统命名了所有16种古典逻辑的二元连接器,这是1929年olukasiewicz符号的兼容扩展,对于独家脱节而言,首次出现。 Bocheński用作独家脱节的用法与“独家或”的波兰语“替代”“替代”“Rozłączna”没有任何关系,并且是偶然的,这是一份意外,请参阅1949年本书第16页的桌子上的表格。
  • ^Caret已使用几种编程语言使用,用C ++C#DJavaPerl ,Ruby, PhpPhpPython表示位于位置独家或操作员。
  • 两组的对称差异,可以解释为它们的元素排他性,或者被称为和。

特性

通勤:是的
        
        
关联:是的
        
                
分发性
独家或不在任何二进制函数上分发(甚至不是本身),但是逻辑连词分布在独家或。 (连词,独家或形成场GF(2)的乘法和加法操作,以及在任何领域中,它们都遵守分布定律。)
势力:否
                
                
单调性:不
        
                
真相:不
当所有输入都是正确的时,输出不正确。
        
        
保留虚假:是的
当所有输入都是错误时,输出为false。
        
        
WALSH光谱:(2,0,0,-2)
非线性:0
该函数是线性的。

如果使用true(1)和false(0)的二进制值,则独家或完全像添加Modulo 2一样工作。

计算机科学

XOR逻辑门的传统符号表示

钻头操作

Nimber添加是二进制表示中的独家或非负整数。这也是向量增加。

独家脱节通常用于钻石操作。例子:

  • 1 XOR 1 = 0
  • 1 XOR 0 = 1
  • 0 xor 1 = 1
  • 0 xor 0 = 0
  • 1110 2 XOR 1001 2 = 0111 2 (这相当于没有携带

如上所述,由于独家析取与添加模量2相同,因此两个n位字符串的比特独家析取与向量空间中添加的标准向量相同。

在计算机科学中,独家分离有几种用途:

  • 它告诉两个位是否不平等。
  • 这是一个可选的位飞机(决定性输入是否可以倒入数据输入)。
  • 它说明是否有1位奇数(当且仅当变量的奇数是true时,是正确的),这与奇偶校验函数返回的奇偶校验位相等。

在逻辑电路中,可以使用XOR门制成一个简单的加法器,以添加数字,以及一系列的和,也不是大门来创建随身携带的输出。

在某些计算机架构上,通过与XOR-ing寄存器(Xor-Ed with本身始终为零)将零存储在寄存器中更有效,而不是加载和存储值零。

在简单的阈值激活的神经网络中,建模XOR函数需要第二层,因为XOR不是线性可分离的函数。

独家或有时用作密码学中的简单混合功能,例如,与一次性PADFEISTEL网络系统一起使用。

独家 - 或在诸如AES(Rijndael)或Serpent之类的块密码中以及块密码实现(CBC,CFB,OFB或CTR)中也大量使用。

同样,XOR可用于生成硬件随机数生成器熵池。 XOR操作保留了随机性,这意味着用非随机位的随机位会导致随机位。可以使用XOR将多个潜在随机数据的来源合并,并且保证输出的不可预测性至少与最佳个人来源一样好。

XOR在RAID 3–6中用于创建奇偶校验信息。例如,RAID可以从两个(或更多)硬驱动器中“备份”字节10011100 201101100 2 ,通过X键入刚提到的字节,从而导致( 11110000 2 )并将其写入另一个驱动器。在这种方法下,如果三个硬盘驱动器中的任何一个都丢失了,则可以通过其余驱动器中的Xoring字节来重新创建丢失的字节。例如,如果丢失了包含01101100 2的驱动器,则可以将10011100 211110000 2置换以恢复丢失的字节。

XOR还用于检测符号二进制算术操作结果中的溢出。如果结果的最左保留位与左侧的无限数字数量不同,则意味着发生溢出。如果有溢出,则X X X X会产生“ 1”。

XOR可用于使用XOR交换算法在计算机中交换两个数字变量;但是,这被认为更多是一种好奇心,而在实践中不鼓励。

XOR链接列表利用XOR属性,以节省空间以表示双重链接的列表数据结构。

计算机图形中,基于XOR的绘图方法通常用于管理无alpha通道或覆盖平面的系统上的边界框光标

编码

它也称为“不左右箭头”(\nleftrightarrow)在基于乳胶的Markdown()中。除了ASCII代码外,操作员还编码u+22bb⊻xor(⊻)和u+2295 circled plus(&circleplus; ,,⊕)均在块数学运算符中。

也可以看看