stest.jpg (102.67 KB, 下載次數(shù): 291)
還未運(yùn)行
stest2.jpg (62.3 KB, 下載次數(shù): 314)
運(yùn)行完
sss.jpg (21.03 KB, 下載次數(shù): 271)
rotga 發(fā)表于 2019-12-16 08:51
這種交換方法有一個前提,就是aa和bb不能相等,如果相等,則會得出錯誤的結(jié)果。所以在做異或運(yùn)算前,需要進(jìn) ...
ssss.jpg (52.97 KB, 下載次數(shù): 225)
rotga 發(fā)表于 2019-12-22 22:54
#include
void swap(int *a,int *b)
{
rotga 發(fā)表于 2019-12-22 22:54
#include
void swap(int *a,int *b)
{
rotga 發(fā)表于 2019-12-16 08:51
這種交換方法有一個前提,就是aa和bb不能相等,如果相等,則會得出錯誤的結(jié)果。所以在做異或運(yùn)算前,需要進(jìn) ...
rotga 發(fā)表于 2019-12-16 08:51
這種交換方法有一個前提,就是aa和bb不能相等,如果相等,則會得出錯誤的結(jié)果。所以在做異或運(yùn)算前,需要進(jìn) ...
wanghz12 發(fā)表于 2020-3-22 13:53
int x,y;
x=x+y;
y=x-y;
wanghz12 發(fā)表于 2020-3-22 13:53
int x,y;
x=x+y;
y=x-y;
溫xyz 發(fā)表于 2020-11-28 07:54
x=x+y可能會溢出。
Daniel008 發(fā)表于 2020-1-20 16:30
相等就不用交換了
rotga 發(fā)表于 2019-12-16 08:51
這種交換方法有一個前提,就是aa和bb不能相等,如果相等,則會得出錯誤的結(jié)果。所以在做異或運(yùn)算前,需要進(jìn) ...
rotga 發(fā)表于 2019-12-31 10:08
不是明顯錯了,而是模擬在復(fù)雜環(huán)境里面,很有可能產(chǎn)生待比較的兩個數(shù)的指針指向同一地址,而結(jié)果你也看到了 ...
rotga 發(fā)表于 2019-12-16 08:51
這種交換方法有一個前提,就是aa和bb不能相等,如果相等,則會得出錯誤的結(jié)果。所以在做異或運(yùn)算前,需要進(jìn) ...
單片機(jī)愛好者223 發(fā)表于 2021-7-14 19:17
PUSH A
MOV A,B
POP B
rotga 發(fā)表于 2019-12-22 22:54
#include
void swap(int *a,int *b)
{
specialClass 發(fā)表于 2020-5-30 17:26
樓主的這個帖子很有意義,用到了異或的性質(zhì):
只要有: a^b=c
那么對于()^()=()可以隨便填入a、b、 ...
1823711995 發(fā)表于 2020-4-30 16:54
a=3;b=5;
a=a-b;
b=a+b;
zyluglugl 發(fā)表于 2021-8-3 22:26
這是什么原理?可以解釋一下嗎?
dzbj 發(fā)表于 2020-5-20 17:09
請教兩個問題 如下應(yīng)該是最傻愣的方法吧 第一這樣也不限制長度 不管是char還是int 因為過程變量的長度是相 ...
guyunfeng 發(fā)表于 2020-5-16 10:50
溢出不影響結(jié)果,樓主方向錯了。
單片機(jī)愛好者223 發(fā)表于 2021-7-14 19:17
PUSH A
MOV A,B
POP B
1823711995 發(fā)表于 2020-4-30 16:52
把加法換為減法不就可以了?減法不會溢出,也比異或效率高
yzwzfyz 發(fā)表于 2021-6-23 15:42
1、程序運(yùn)行時間長;
2、占用存儲器多;
3、不實用。
鵜鶘 發(fā)表于 2022-6-11 21:56
不會的,如果是匯編語言,這個算法只快不會慢,它少用了一個變量怎么會“占用存儲器多”呢?
歡迎光臨 (http://www.torrancerestoration.com/bbs/) | Powered by Discuz! X3.1 |