原文:异或运算实现两个数的交换

原理: 通常的交换两个变量a,b的过程为 int temp temp a a b b temp 需借助上面的第 个临时变量temp. 采用下面的方法,对于给定两个整数a,b,下面的异或运算可以实现a,b的交换,而无需借助第 个临时变量: a a b b a b a a b 这个交换两个变量而无需借助第 个临时变量过程,其实现主要是基于异或运算的如下性质: .任意一个变量X与其自身进行异或运算,结 ...

2021-09-11 16:22 0 170 推荐指数:

查看详情

为什么三次或操作可以交换两个数

a和b是两个整数,经过以下三次或操作,可以达到交换目的: a = a ^ b; b = a ^ b; a = a ^ b; 首先要理解,什么是^(或)操作:   二进制运算 ...

Wed Jul 04 16:45:00 CST 2018 1 3186
使用运算交换两个任意类型变量

这篇文章中将使用C语言,实现交换两个任意类型变量的功能.说到任意类型用C让人感觉很难做,如果是C++则使用模板函数就轻松搞定: 先说下使用^来交换两个整数,其代码看着简单但不容易理解 有人说这种写法很奇葩,但我要说的是,运算是计算机很常用的操作.搞懂这一算法是熟练掌握 ...

Tue Oct 21 22:08:00 CST 2014 8 1806
运算的巧用 → 不用额外的变量,如何交换两个变量的值?

开心一刻   头奶牛在一起吃草,其中一头(奶牛甲)越吃越慢,一副若有所思的模样,另一头奶牛(奶牛乙)发觉了,开始了对话   奶牛乙:搁那合计啥呢?   奶牛甲:你帮我合计合计   奶牛乙:咋地了   奶牛甲:我吃的是草,挤出来的是奶,也就是说我把没用的变成有用的了   奶牛乙 ...

Mon Nov 29 17:06:00 CST 2021 42 4553
c语言函数实现交换两个数的值

代码: 输出: 解释: swap函数调用时首先创建x,y的变量副本,我们姑且称之为x2,y2(其实名字依然是x和y,只不过这里的x和y只在swap函数里有意义),并将main函数中x,y的值传给变量x2,y2,然后函数交换了x2,y2的值,运行完函数后 ...

Mon Jul 21 03:51:00 CST 2014 1 3562
实现两个数字的交换(C语言)

int num1=10; int num2=20; //1、简单的数学方法实现数字交换   num1=num1+num2;//num1=30   num2=num1-num2;//num2=10   num1=num1-num2;//num1=20 //2、利用按位异或实现数字交换 ...

Sun Sep 22 04:16:00 CST 2019 0 1053
关于C语言交换两个数实现方法以及个人心得

对于C语言中交换两个数的方法,目前大体上有这么5种: 1:直接利用中间变量进行交换; 2:利用指针传入函数地址在函数内部进行利用中间变量交换; 3:将两个需要交换的数进行加减运算进行交换;   注:因C语言有浮点数之分,不可以认为乘除也可进行交换。 4:将两个数进行亦或运算,也可以实现 ...

Fri Apr 14 00:26:00 CST 2017 0 3359
Java交换两个数

一.四种方式交换两个数字 直接交换:失败 包装类交换:失败 数组方式交换:成功 成员变量交换:成功 结果: ...

Mon Jan 20 21:47:00 CST 2020 0 952
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM