2021-06-17
关于异或的理解
如果a^b=c;
那么有
a^c=b;
b^c=a;
比如
a1010 1001
b0101 1010
那么异或c是a+b的不进位相加
即
1+0=1
0+1=1
1+0=1
0+1=1
1+1=2=10(二进制相加不进位得0)=0
0+0=0
0+1=1
1+0=1
那么a^b=1111 0010
根据这个原理,可以实现交换的功能
交换a,b两个数
b=b^a 把b看成c
a=b^a ;即a=c^a;此时a的值是b原来的值了
b=b^a ;即b=c^b,此时b的值
原创
2021-06-17 23:21:38 ·
85 阅读 ·
0 评论