异或交换两个数的值

简介: 版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.csdn.net/Jailman/article/details/80180470 异或交换两个数的值是资源开销最小的方法,不需要中介数,原理简单的来说就是异或的负负得正。
版权声明:本文可能为博主原创文章,若标明出处可随便转载。 https://blog.csdn.net/Jailman/article/details/80180470

异或交换两个数的值是资源开销最小的方法,不需要中介数,原理简单的来说就是异或的负负得正。

代码:

#include <stdio.h>

int main()
{
    int a = 11, b = 22;
    printf("a=%d b=%d\n", a, b);
    a = a ^ b;
    b = a ^ b;
    a = a ^ b;
    printf("a=%d b=%d\n", a, b);
}

编译:

gcc test.c -o test

执行:

a=11 b=22
a=22 b=11
目录
相关文章
|
6月前
|
存储 算法 JavaScript
判断奇偶数
判断奇偶数
|
算法
把数组里面数值排成最小的数
把数组里面数值排成最小的数
35 1
交换两个数的值的方法(三种)
交换两个数的值的方法(三种)
69 1
判断数的奇偶性
判断数的奇偶性
96 0
|
算法
求二进制位中一的个数
求二进制位中一的个数
82 0
判断一个数是否是对称数(数组/非数组解法)
判断一个数是否是对称数(数组/非数组解法)
求两个数二进制中不同位的个数
题目内容:两个int(32)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子: 7