码迷,mamicode.com
首页 > 其他好文 > 详细

异或交换两个变量值

时间:2020-06-29 00:51:31      阅读:74      评论:0      收藏:0      [点我收藏+]

标签:void   oid   strong   函数   code   变量   str   等于   不难   

异或交换两个变量值

swap函数完成变量a,b的交换。

void swap(){
	a=a^b;
	b=b^a;
	a=b^a;
}

分析:首先对于异或二进制两数运算结果为:

0^0=0;
0^1=1;
1^0=1;
1^1=0;

异或规律:一个数异或两次另外一个数等于原来那个数,即a ^ b ^ b=a(位置可交换);
由此不难得出:

a=a^b;//第一个a相当于一个中间变量
b=b^a=b^a^b=a;
a=b^a=a^a^b=b;//这里b=a,a=a^b

异或交换两个变量值

标签:void   oid   strong   函数   code   变量   str   等于   不难   

原文地址:https://www.cnblogs.com/wryy/p/13205517.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!