异或(Exclusive OR,简称 XOR)是一种数学运算符,常用于逻辑运算与计算机中的位运算。当且仅当两个输入值不同时,异或运算输出为真(1),否则输出为假(0),即“同为 0,异为 1”。异或运算可以通过数学符号“⊕”表示, 具有交换律、结合律、恒等律等性质。
异或运算常见的应用包括奇偶校验、加法器设计、密码学中的加密与解密操作以及变量交换等。异或运算的一个重要特性是自反性:任何值与自身异或的结果为0,任何值与 0 异或的结果为其本身。
异或广泛应用于现代信息技术的多个领域,如数据加密、错误检测和纠正、图像处理等,尤其在数字电路设计与密码学中发挥着至关重要的作用。此外,异或运算在代数领域也扮演了关键角色。它所构成的系统是阿贝尔群, 与合取(AND)运算共同构成了著名的两元素域 F2,这是描述布尔函数的代数标准型的重要基础。
定义
异或是一个数学运算符,它应用于逻辑运算与计算机中的位运算。
令 p 和 q 为命题。p 和 q 的异或是这样一个命题:当p 和 q 中恰好只有一个为真时命题为真,否则为假。
p 异或 q 通常记作 p XOR q 或 p⊕ q。在编程语言中通常为 p^q。
如 p、q 两个值不相同,则异或结果为 1。如果 p、q 两个值相同,异或结果为 0,即异或的运算法则为:0 ⊕ 0 = 0,1 ⊕ 0 = 1,0 ⊕ 1 = 1,1 ⊕ 1 = 0(同为 0,异为 1)。这种运算捕捉了输入位的“排他性”,即输入不能同时为真。
异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用1 表示真,0 表示假,这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。
应用
交换两个变量的值
1 |
|