位运算交换两个变量值

两个变量怎么交换值
1.通常的办法是设一个临时变量tmp,将两个值进行交换。
 
 
2.但这里有个有趣的方法是利用位运算进行交换值的操作。
首先有个原理需要知道:
若a^b=c,则c^b=a,c^a=b
可通过穷举法进行证明
 
位运算交换两个变量值_第1张图片
那么就可以通过以下方式进行两个变量的交换
a=a^b;
b=a^b;
a=a^b;

你可能感兴趣的:(编程经验,位运算,算法)