当前位置:首页 > 技术心得 > 正文内容

C语言交换两个数

xjtudll15年前 (2011-05-13)技术心得10880

可能大家都认为交换两个数如此的简单,没必要写,没新意。例如,交换a和b两个数,教科书上一直这样写:
temp=b;
a=temp;
b=a;

确实很简单。但是最近看到一段代码,觉得十分高超,是这样的:
a^=b;
b^=a;
a^=b;

同样也是三句代码,但是却未使用局部变量,巧妙吧。

值得注意的是,只有满足以下条件,才能使用上述代码

1、a,b均为无符号数
2、a,b长度一致

这个在单片机中还是有作用的哦,尤其是RAM不足的情况下~~~~

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://xjtudll.cn/Exp/177/

标签: C
分享给朋友:

“C语言交换两个数” 的相关文章

Quartus II计数器仿真:31之后变成字符

Quartus II计数器仿真:31之后变成字符

计数器波形仿真,在执行到31时会突然变成[] ! 之类的符号。如图: 原因: 信号的显示格式选择成了ASCII码,当数值等于ASCII码符号区的时候就会显示为符号了。 解决办法: 1、选择要显示的信号,右键,属性(Properties) 2、将显示格式改成自己所需的,一般是Hexadecimal...

Protel99SE交叉线节点处理

Protel99SE交叉线节点处理

在画电路图时,不可避免的会出现十字的交叉线,虽然Protel99SE默认不会在十字交叉处有节点(Junction),但是当你移动原理图的时候,Protel99SE会自动给加上个节点,这点就很不爽了,如图1和图2。    图1 移动前无节点 图2 移动后自动多了节点 但是...

ESD及静电的特点

什么是ESD ESD是代表英文Electrostatic Discharge[1] 即“静电放电”的意思。ESD是本世纪中期以来形成的以研究静电的产生与衰减、静电放电模型、静电放电效应如电流热(火花)效应(如静电引起的着火与爆炸)和电磁效应(如电磁干扰)等的学科。近年来随着科学技术的飞速发展、微电...

object-c 函数前面加号和减号 +和-的区别

简单来说就是: 加号 是可以通过类名直接调用这个方法; 减号则要实例化逸个对象,然后通过实例化的对象来调用该方法!! 使用的时候请注意。...

一些奇葩问题

1、排针居然有电阻 问题描述: 排针的不同PIN之间用万用表测量居然是有电阻的 原因: 排针质量有问题,老化   2、按键 问题描述: 导通电阻不是0,200欧姆~2k欧姆不等 原因: 按键老化 这种有导通电阻的,对于独立式按键来说影响不大,对于AD键盘而言,影响将很明显,很有可能导致误判...

穆斯林祈祷时间定义

穆斯林每天祈祷五次,时间有规定,需要在一个特定的时间段。五次祈祷分别是:晨礼、晌礼、晡(bū)礼、昏礼和宵礼。如下表所示: 名 称...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。