博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
异或交换两个变量的值
阅读量:3916 次
发布时间:2019-05-23

本文共 254 字,大约阅读时间需要 1 分钟。

采用下面的方法,对于给定两个整数a,b,下面的异或运算可以实现a,b的交换,而无需借助第3个临时变量:

a = a ^ b;b = a ^ b;a = a ^ b;

这个交换两个变量而无需借助第3个临时变量过程,其实现主要是基于异或运算的如下性质:

1.任意一个变量X与其自身进行异或运算,结果为0,即X^X=0

2.任意一个变量X与0进行异或运算,结果不变,即X^0=X

3.异或运算具有可结合性,即abc=(ab)c=a(bc)

4.异或运算具有可交换性,即ab=ba

结合下图可以抽象的理解一下

在这里插入图片描述

参考:

转载地址:http://favrn.baihongyu.com/

你可能感兴趣的文章
轻量级 Kubernetes K3s - Github热点
查看>>
在.NET Core中使用Channel(一)
查看>>
Roslyn 使用 Directory.Build.props 管理多个项目配置
查看>>
单一职责在.NET中
查看>>
.NET Core 使用Topshelf方式创建Windows服务
查看>>
.net 5.0 中的 JsonConsole
查看>>
【Docker】Asp.net core在docker容器中的端口问题
查看>>
孙丕恕离开浪潮 仪器厂历时60年成为服务器龙头企业
查看>>
TIOBE 1 月榜单:Python年度语言四连冠,C 语言再次第一
查看>>
Blazor VS React / Angular / Vue.js
查看>>
asp.net core集成CKEditor实现图片上传功能
查看>>
如何在 Web Forms 中引入依赖注入机制
查看>>
Blazor VS 传统Web应用程序
查看>>
中台的故事结束了?
查看>>
日产汽车源码遭泄露
查看>>
使用BeetleX.ESDoc构建文档搜索功能
查看>>
【Hook】postman工具的代码生成工具让它锦上添花
查看>>
Istio 知多少 | 下一代微服务的守护者
查看>>
ocelot 中间件的变化
查看>>
探索 .NET团队对API的设计流程
查看>>