常用临时变量来保存中间值,达到交换两个数的目的,我们可以使用异或运算来交换两个数。 实现 a= a^b;b= a^b;a= a^b; 原理 基本性质 任意变量x与自身异或结果为0,即:x^x = 0 任意变量x与0进行异或运算,结果不变,即:x^0 = x 异或运算的结合性:a^b^c = (a^b)^c = a^(b^c) 异或运算的交...
在Python中,可以使用异或运算(XOR)来交换两个整型数据。异或运算的特性使得它在没有临时变量的情况下能够交换两个数的值。下面是详细的步骤和代码示例: 定义两个整型变量并赋值: 首先,我们需要定义两个整型变量并给它们赋值。例如,我们可以使用a和b这两个变量。 使用异或运算对两个变量进行交换: 接下来,我们利...
这个交换两个变量而无需借助第3个临时变量过程,其实现主要是基于异或运算的如下性质: 1.任意一个变量X与其自身进行异或运算,结果为0,即X^X=0 2.任意一个变量X与0进行异或运算,结果不变,即X^0=X 3.异或运算具有可结合性,即a^b^c=(a^b)^c=a^(b^c) 4.异或运算具有可交换性,即a^b=b^a 分析: ...
1、用异或运算交换两个整型数据(a = 60 , b = 13)1, a = a ^ b2, b = a ^ b3, a = a ^ b用format方法输出三个阶段a和
这样就实现了a和b两个数的交换操作。 说实话,第一次见到这样的语句时,确实很费解。诚然,这样的操作相比声明一个临时变量,节省空间。但是感觉代码的可读性并不是很好。 我看到原始代码这条语句上还有一个注释,说是XX优化的。 但是我写了一个程序测试了一下,异或操作方法好像还要慢一些。
本教程将介绍异或实现两个数的交换 工具/原料 Microsoft Visual Studio 2010 方法/步骤 1 新建一个项目,如图所示:2 定义头文件,如图所示:3 输入main函数,如图所示:4 定义两个int类型变量,如图所示:5 对新定义好的两个变量进行赋值,如图所示:6 使用异或运算对两个变量的值进行交换,如图所示:7 使用...
我们从微观来看发现:a,b之间不只是直观的十进制数数值发生交换,内部的二进制数值也发生了交换(这是当然了)。 正是这些理所当然的问题才知道深究: 下面演示^(异或)运算的性质 : int a=1; int b=0; a=a^b; //a=1 b=a^b; //b=1 a=a^b; //a=0 ...
简单理解就是当两个书相同时结果为0,而两个数不同时异或的结果为1 可用于两个整数的交换,而不用去引入一个中间变量 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> using namespace std; int main() { int a,b;
一个是三次异或加三次赋值,一个只是三次赋值,肯定是中间变量更快 异或只是一种炫技的做法,不会用于正式项目中
看,又得到了17这个数。由此我们可以知道,一个数异或两遍会得到原来的那个数。 inta =17, b =3; a ^= b; b ^= a; a ^= b; 我们也可以写成连等形式。 inta =17, b =3; a ^= b ^= a ^= b; 这样就可以很方便的交换两个数的值啦~...