stest.jpg (102.67 KB, 下载次数: 291)
还未运行
stest2.jpg (62.3 KB, 下载次数: 314)
运行完
sss.jpg (21.03 KB, 下载次数: 271)
rotga 发表于 2019-12-16 08:51
这种交换方法有一个前提,就是aa和bb不能相等,如果相等,则会得出错误的结果。所以在做异或运算前,需要进 ...
ssss.jpg (52.97 KB, 下载次数: 225)
rotga 发表于 2019-12-22 22:54
#include
void swap(int *a,int *b)
{
rotga 发表于 2019-12-22 22:54
#include
void swap(int *a,int *b)
{
rotga 发表于 2019-12-16 08:51
这种交换方法有一个前提,就是aa和bb不能相等,如果相等,则会得出错误的结果。所以在做异或运算前,需要进 ...
rotga 发表于 2019-12-16 08:51
这种交换方法有一个前提,就是aa和bb不能相等,如果相等,则会得出错误的结果。所以在做异或运算前,需要进 ...
wanghz12 发表于 2020-3-22 13:53
int x,y;
x=x+y;
y=x-y;
wanghz12 发表于 2020-3-22 13:53
int x,y;
x=x+y;
y=x-y;
温xyz 发表于 2020-11-28 07:54
x=x+y可能会溢出。
Daniel008 发表于 2020-1-20 16:30
相等就不用交换了
rotga 发表于 2019-12-16 08:51
这种交换方法有一个前提,就是aa和bb不能相等,如果相等,则会得出错误的结果。所以在做异或运算前,需要进 ...
rotga 发表于 2019-12-31 10:08
不是明显错了,而是模拟在复杂环境里面,很有可能产生待比较的两个数的指针指向同一地址,而结果你也看到了 ...
rotga 发表于 2019-12-16 08:51
这种交换方法有一个前提,就是aa和bb不能相等,如果相等,则会得出错误的结果。所以在做异或运算前,需要进 ...
单片机爱好者223 发表于 2021-7-14 19:17
PUSH A
MOV A,B
POP B
rotga 发表于 2019-12-22 22:54
#include
void swap(int *a,int *b)
{
specialClass 发表于 2020-5-30 17:26
楼主的这个帖子很有意义,用到了异或的性质:
只要有: a^b=c
那么对于()^()=()可以随便填入a、b、 ...
1823711995 发表于 2020-4-30 16:54
a=3;b=5;
a=a-b;
b=a+b;
zyluglugl 发表于 2021-8-3 22:26
这是什么原理?可以解释一下吗?
dzbj 发表于 2020-5-20 17:09
请教两个问题 如下应该是最傻愣的方法吧 第一这样也不限制长度 不管是char还是int 因为过程变量的长度是相 ...
guyunfeng 发表于 2020-5-16 10:50
溢出不影响结果,楼主方向错了。
单片机爱好者223 发表于 2021-7-14 19:17
PUSH A
MOV A,B
POP B
1823711995 发表于 2020-4-30 16:52
把加法换为减法不就可以了?减法不会溢出,也比异或效率高
yzwzfyz 发表于 2021-6-23 15:42
1、程序运行时间长;
2、占用存储器多;
3、不实用。
鹈鹕 发表于 2022-6-11 21:56
不会的,如果是汇编语言,这个算法只快不会慢,它少用了一个变量怎么会“占用存储器多”呢?
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |