异或的介绍
异或,英文为exclusive OR,缩写成xor。
异或(xor)是一个数学运算符。它应用于逻辑运算。异或的数学符号为“⊕”,计算机符号为“xor”。其运算法则为:
a⊕b = (¬a ∧ b) ∨ (a ∧¬b)
如果a、b两个值不相同,则异或结果为1。如果a、b两个值相同,异或结果为0。
异或的作用
在计算机中普遍运用,异或(xor)的逻辑符号一般用xor,也有用⊕的:
真⊕假=真
假⊕真=真
假⊕假=假
真⊕真=假
或者为:
True ⊕ False = True
False ⊕ True = True
False⊕ False = False
True ⊕ True = False
异或的巧用
若需要交换两个变量的值,除了通常使用的借用中间变量进行交换外,还可以利用异或,仅使用两个变量进行交换,
问题及代码实现
问题:不引入第三变量的情况下,交换两个字符的数值。
//代码实现
#include <stdio.h>
int main()
{
int a, b;
printf("a = ");
scanf_s("%d", &a);
printf("b = ");
scanf_s("%d", &b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
//或者简写为
//a ^= b;
//b ^= a;
//a ^= b
printf("交换后a = %d,b = %d\n", a, b);
return 0;
}
运行结果
结束语
这就是异或的妙用,希望大家可以学会。