异或门符号'^',在编程中的使用,有的时候能够让你的程序更加精炼简捷,
尤其在C++的acm程序应用中,可以避免许多麻烦!!!它的几个简单作用讲解如下:它的简单规则是相同为0,不同为1,例如int a=3=011(2进制,在计算机中的存储形式);int b=6=110(2进制,在计算机中的存储形式);int c=a^b=101=5;切忌,在异或门的计算中都是应用的2进制!!任何数和0异或都等于它本身;两个相同的数异或后的结果是0;1)实现两个数的交换 a=a^b; b=a^b;//b=a^b^b=a^0=a; a=a^b;//a=a^a^b=0^b=b;应用例子如下:#include<iostream>using namespace std;int main(){ int a=3; int b=4; a=a^b; b=a^b; a=a^b; cout<<a<<' '<<b<<endl; return 0;}2在一排数中找到独一无二的一个数例子如下:他的思路是;只要有相同的数那么他们异或后的结果就是0,最后就剩下0和那个独一无二的数相异或,就等于那个独一无二的数了!!哈哈!!例子,如下:#include<iostream>using namespace std;int main(){ int n,i,x,y; while(scanf("%d",&n)!=EOF&&n) { x=0; while(n--) { cin>>y; x^=y; } printf("%d\n",x); } return 0;}随便输入几个数,找到其中没有和他相同的那个数!!哈!3)判断两个数是否相等if(a^b==0)printf("a=b");else printf("a!=b");