异或运算的巧用→不用额外的变量,如何交换两个变量的值?

开心一刻

  两头奶牛在一起吃草,其中一头(奶牛甲)越吃越慢,一副若有所思的模样,另一头奶牛(奶牛乙)发觉了,开始了对话

  奶牛乙:搁那合计啥呢?

  奶牛甲:你帮我合计合计

  奶牛乙:咋地了

  奶牛甲:我吃的是草,挤出来的是奶,也就是说我把没用的变成有用的了

  奶牛乙:是这个事

  奶牛甲:人呢,喝的是奶,拉出来的是粑粑

  奶牛乙:咋地了

  奶牛甲:他又把有用的变成没用的了,我这不白干了吗

  奶牛乙:你说的不对

  奶牛甲:不对吗?

  奶牛乙:那粑粑做成化肥,有化肥才能长草,所以说你吃的不是草,是粑粑

  奶牛乙:啊 ???

概念

  关于“位”运算,大家或多或少都知道点,比如与运算(&)、或运算(|)、异或运算(^)、取反运算(~)、左移(<<)、右移(>>)

  因为今天的主角是:异或运算,其他的位运算就不在本文展开了,大家自行去查阅

  异或运算的英文名: exclusive OR ,简称 XOR ,那它是不是和或运算有什么关系?

  关于或运算,我们都比较清楚,只有当两个位都是0时,结果才为0,其他情况结果都是1,也就是说或运算结果为 1 的情况两种

  (1)一个位是 1,另一个位是 0

  (2)两个位都是 1

  有时候我们需要明确区分这两种情况,怎么办?

  所以引入了 XOR ,它排除了情况(2),只有情况(1),也就说:一个位是 1,另一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值