异或交换两个数的值

简介: 版权声明:本文可能为博主原创文章,若标明出处可随便转载。 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
目录
相关文章
|
11月前
|
存储 算法 JavaScript
判断奇偶数
判断奇偶数
|
5月前
两数之间的 Armstrong 数
【10月更文挑战第24天】两数之间的 Armstrong 数。
41 4
交换两个数的值的方法(三种)
交换两个数的值的方法(三种)
89 1
不使用第三变量。如何对2个数进行交换
不使用第三变量。如何对2个数进行交换
136 0
判断一个数是否是对称数(数组/非数组解法)
判断一个数是否是对称数(数组/非数组解法)
|
算法
算法练习——(1)找数组中唯一成对的那个数(异或)
——如何找数组中唯一成对的那个数(数组特殊) 1-1000这一千个数放在含有1001个元素的数组中,只有唯一的一个元素值重复,其他均只出现一次。 每个数组元素只能访问一次,设计一个算法,将他找出来;不用辅助储存空间,设计一个算法实现.
179 0
|
机器学习/深度学习
【每日一题Day84】LC2283判断一个数的数字计数是否等于数位的值 | 哈希表
思路:使用哈希表统计每个数字出现的次数,再与字符串中的次数进行比较,如果所有数字次数均等于字符串中的次数,返回true;反之,返回false
81 0