0
点赞
收藏
分享

微信扫一扫

swap交换数值

洒在心头的阳光 2022-03-11 阅读 47

程序

void swap(int &a, int &b)
{
	a ^= b;//异或
	b ^= a;
	a ^= b;
}

逻辑

  1. 找出ab中不同的位,赋1
  2. b中不同的位:与1异或取反,与0异或还是本身
  3. 此时b是原来的a。a中不同的位:与1异或取反,与0异或还是本身
num1num2res
000
011
101
110
举报

相关推荐

0 条评论