不使用第三个变量,怎么交换两个变量的值?

本文通过异或运算原理,展示了一种编程技巧,让两个变量互换值,同时还包含了一个代码示例。涉及的知识包括计算机二进制基础和异或操作在编程中的应用。

点击上方“芋道源码”,选择“设为星标

管她前浪,还是后浪?

能浪的浪,才是好浪!

每天 8:55 更新文章,每天掉亿点点头发...

源码精品专栏

 

大家好,我是 1 ,我长得非常帅又很有才华。

我有一个好兄弟 ,它叫 5 ,这家伙豪气得不得了,是一个富二代。

但是由于我的才华和英俊的外表,他还是认我做了大哥。

我们都很羡慕对方,我想过有钱的日子,但是他想变成我这样有才华且帅的男人。

总的来说,我想变成他,他想变成我

于是,我们开始翻阅各种武学宝典,功夫不负有心人!终于让我找到了!

第一重异或大法

这本武功秘籍中居然有一式名曰异或大法 ,可使两人互换!!!

激动的我立马就翻阅起来!

以下就是秘籍介绍了。

先和大家简单普及下小知识,计算机的世界是二进制的,只有 01 这两个数字。

  • 1 在计算机中可以用 1 标识。

  • 5 在计算机的世界里,其实是 101。

异或是什么?

就是相同为 0,不同为 1

我们举个例子,如图:

图片

1001 和 1100  的异或结果为 0101。

看到这里,恭喜你!异或大法你已经有所小成了!

第二重双修大法

双修???

咳咳咳,不要乱想,是需要两人同时修炼,要配合!把脑子里的脏东西踢掉!

但是双修大法需要牺牲一个人。

我来吧!!!怎么能让兄弟吃亏!

第二重??只需要对兄弟使出第一式就好了,这么简单吗?

图片

于是乎变我成了变态???

第三重偷天换日

书中简介:你不会白牺牲的!现在需要第二个人来拯救你了!

快!对它使用异或大法!

图片

兄弟:我变了我变了!!!我变成帅比了!!!哈哈哈!!!

我上去就是给他一拳:我还人不人鬼不鬼的,你笑个 P,快看看怎么办!

兄弟露出了姨母笑:我看下我看下,哈哈哈... 书中说到,你对我再用下异或大法就好了!来吧!!!

我二话不说,又是一招异或大法打了过去。

图片

我哭了:我变成土豪了,哈哈哈……

恭喜你,神功大成!

代码演示

小说看完了,代码也得码一下:

   int handsome = 1;
   int rich = 5;
   handsome = handsome ^ rich;
   rich = handsome ^ rich;
   handsome = rich ^ handsome;
图片

看到这里,你神功大成了吗?

- END -

欢迎加入我的知识星球,一起探讨架构,交流源码。加入方式,长按下方二维码噢

已在知识星球更新源码解析如下:

最近更新《芋道 SpringBoot 2.X 入门》系列,已经 20 余篇,覆盖了 MyBatis、Redis、MongoDB、ES、分库分表、读写分离、SpringMVC、Webflux、权限、WebSocket、Dubbo、RabbitMQ、RocketMQ、Kafka、性能测试等等内容。

提供近 3W 行代码的 SpringBoot 示例,以及超 4W 行代码的电商微服务项目。

获取方式:点“在看”,关注公众号并回复 666 领取,更多内容陆续奉上。

文章有帮助的话,在看,转发吧。
谢谢支持哟 (*^__^*)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值