#打基础# 关于异或(交换)

本文深入浅出地介绍了如何使用位运算实现变量交换的过程,并详细解释了背后的基本原理。通过具体的步骤展示,帮助读者理解如何利用异或运算特性完成变量交换而无需借助额外变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:https://blog.youkuaiyun.com/wwt18811707971/article/details/78291490

这篇文章已经写得很好了~主要自己在完全小白,背后的道理还是理解理解之后才知道的。
下面写下,自己在意和注意到的点:

  1. 0 异任何数——》等于任何数
  2. 1 异任何数——》等于相反的数
  3. A ^ A= 0          //交换关键
  4. A ^ 0= A         //交换关键


所以在a,b之间交换;

【思路】:

b=a^b^b;
a=b^……(a,b 都为 偶数个数 相异)


【最后方案】:

(粗体 意为不是真实写法,只是,帮助理解;a^b应该为a; a^b^b应该为b;)

a=a^b;
b=a^b^b;     //只剩下a,完成交换
a=a^b^b^a^b;     //前三个是b真正的值,后两个是a真正的值;
//前面四个变成0,只剩下b,完成交换



【附上真正】:
aa^b; 
b=b^a; 
a=a^b;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值