`
rollstone
  • 浏览: 38859 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

不用中间变量交换数据

c 
阅读更多
那种加加减减的方法其实不对。因为缩小了数据范围。
a1=a1+a2;     //此时a1为a1与a2之和
a2=a1-a2;     //此时a2=a1
a1=a1-a2;     //此时a1=a2

位操作符号^(异或)有个性质:
a^a=0;
0^a=a;
所以a^a^b=b;
所以正确的交换如下:
void   swap   (int&   _1,int&   _2)
{
            _1^=_2^=_1^=_2
return  
}


^=结合的方向是从右向左。
分享到:
评论

相关推荐

    示例代码:不经过中间变量交换两个数

    - C语言中实现不使用中间变量交换两个数的具体步骤 - 代码逻辑分析及注意事项 #### 位运算符的概念与应用 位运算符是在计算机科学中用于对二进制位进行操作的一类运算符。常见的位运算符包括按位与(`&`)、按位或...

    变量交换的几种常见方法

    在编程中,变量交换是常见的操作之一,尤其是在算法设计、数据结构处理以及各种程序逻辑中。本文将深入探讨几种变量交换的方法,特别是不使用中间变量和位运算的方式,这不仅能够提高代码的效率,还能加深对计算机...

    变量的数据类型

    这里的项目名可以根据Windows的DDE交换协议进行设置,以便实现不同应用程序之间的数据交换。 #### 寄存器 寄存器是一种特殊类型的变量,它代表了一个硬件寄存器的位置。在组态王系统中,用户可以通过定义寄存器变量...

    nihao.rar_代码 变量交换

    在编程领域,变量交换是一个常见的操作,特别是在处理数据或算法时。标题中的“nihao.rar_代码 变量交换”表明这是一个关于如何在程序中交换两个变量值的示例代码。下面我们将深入探讨变量交换的不同方法及其原理。 ...

    易语言交换变量值

    在易语言的支持库中,可能已经提供了专门的函数或命令来方便地交换不同数据类型的变量值,如“交换数据_整数”,“交换数据_文本”和“交换数据_字节集”。这些支持库函数通常封装了底层的实现细节,使得程序员可以...

    易语言源码易语言文本变量交换源码.rar

    文本变量交换通常涉及两个或多个变量之间的值互换,这是一个常见的操作,特别是在需要重新排列或排序数据时。 在源码中,我们可以预期看到如何定义和使用文本变量,以及如何实现这些变量的交换。易语言提供了多种...

    c# 交换数据源码无加减无中间变量

    c# 交换数据源码无加减无中间变量 简单源码,仅供下载。

    不用第三方变量交换两数的值

    在编程中,交换两个数值是常见的操作,但有时我们可能会面临一种情况,即不允许使用额外的(第三方)变量来辅助交换。这个问题在各种编程语言中都有不同的解决方案,下面我们将详细探讨几种主流的方法。 首先,我们...

    不使用中间变量,交换int型的 a, b两个变量的值。

    总结来说,不使用中间变量交换两个变量的值有多种方法,包括位运算、算术运算、数组存储和对象属性。不同的方法适用于不同的场景,位运算和算术运算通常更快,但需要考虑溢出和数据类型限制;数组存储和对象属性方法...

    如何在STEP7 WINCC中编写脚本实现2个PLC之间的数据交换?.docx

    通常,PLC之间会通过通讯协议如MPI、PROFINET、S7通讯等直接交换数据,但在特殊情况下,可能需要利用WINCC作为中间媒介。 以下是在STEP7 WINCC中实现两个PLC数据交换的步骤: 1. **定义变量**: - 首先,在WINCC...

    问题123: 变量交换

    在计算机编程中,变量交换是一项基本操作,常用于算法实现、数据处理等场景。本问题旨在通过三种不同的方法来交换两个整数变量`a`和`b`的值,并输出交换后的结果。这种练习有助于加深对编程语言基本语法的理解,并且...

    详解JS几种变量交换方式以及性能分析对比

    在JavaScript开发中,变量交换是一个非常常见的操作。它指的是将两个变量的值进行互换,而不借助于临时变量。随着前端技术的发展,出现了多种变量交换方法。这些方法各有优劣,从易用性到性能都有所不同。本文将详细...

    CODESYS之网络变量.docx

    网络变量是CODESYS中的一个重要特性,它允许用户在不同的控制器之间实现数据的高效、实时交换。下面将详细介绍如何在CODESYS中创建和使用网络变量。 ### 1. 新建软运动工程 首先,我们需要创建两个不同的软运动...

    VB 数据的交换

    VB的对象模型允许我们创建具有属性和方法的类,通过设置和获取对象的属性来交换数据,或者通过调用方法来实现复杂的数据处理。 此外,VB还支持各种数据结构,如列表(List)和集合(Collection),它们提供了更高级...

    jquery 两个表格数据行交换数据

    3. **交换数据**:获取选中行的数据并将其存储在变量中。可以使用`.html()`或`.text()`来获取或设置单元格内容。将一行的HTML内容复制到另一行,然后反向操作,实现数据交换。 4. **更新DOM**:在修改了数据后,...

    第02章 Java编程基础 08 位运算符与变量交换

    本章将深入讲解位运算符及其在变量交换中的应用。 一、位运算符 1. 按位与(&): 对两个操作数的每个对应位执行逻辑与操作。如果两个位都是1,结果位为1;否则为0。 2. 按位或(|): 执行逻辑或操作,如果至少一个位是...

    NC 与PLC交换数据的方法

    1. 标准的PLC接口信号:在数控机床中,PLC与NC之间交换数据通常会使用标准的接口信号,这些信号被定义在特定的数据块(DB)中。例如,DB21和DB31是数控系统中用于交换状态信号和控制信号的常用数据块。NC系统会将...

    Java 变量和数据类型

    在Java编程语言中,变量是程序的基本构建块,它们用于存储数据。变量是临时或持久性的数据存储空间,可以用来保存各种类型的信息,如数字、文本(字符串)、布尔值等。理解变量及其数据类型对于编写任何Java程序至关...

    JS实现不用中间变量temp 实现两个变量值得交换方法

    在JavaScript编程中,变量值交换是一个常见的操作。最传统的交换方法是借助一个中间变量temp来辅助...同时,读者在实际应用这些方法时,应充分考虑JavaScript中变量类型和运算特性的细节,以确保程序的健壮性和正确性。

    wincc读取变量数据到Excel表格中

    在实际应用中,有时我们需要将WinCC收集的实时变量数据导出到Excel表格中进行进一步的数据分析和处理。下面,我们将详细介绍如何实现这个功能。 首先,创建Excel模板是整个过程的基础。你需要在Excel中设计好表格...

Global site tag (gtag.js) - Google Analytics