闲聊:不用其他变量,交换整型变量A,B,方法探讨

laurecn 2003-11-23 05:50:08
如题
看看都能玩出什么蹊跷,呵呵
...全文
32 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
cow8063 2003-11-24
  • 打赏
  • 举报
回复
什么意思呀
linnet2000 2003-11-24
  • 打赏
  • 举报
回复
xiaoqiang123 2003-11-24
  • 打赏
  • 举报
回复
a:=a*b;
b:=a/b;
a:=a/b;
SeaWave 2003-11-24
  • 打赏
  • 举报
回复
以前记得汇编里面有一条交换指令,可以交换两个操作数。

那要求其中一个必定是寄存器,不能两个都在内存里。
XCHG
hch_45 2003-11-24
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
a ,b : integer;
begin
a := 3;
b := 4;
asm
mov eax, b
xchg eax, a
mov b, eax
end;
ShowMessage(Format('%d %d', [a, b]));
end;
overtime 2003-11-24
  • 打赏
  • 举报
回复
用这种方法去节省内存??还不如好好的架构架构了,不过python中可以通过序列来对变量直接进行交换
jxc163 2003-11-24
  • 打赏
  • 举报
回复
以前记得汇编里面有一条交换指令,可以交换两个操作数。
liuxiaoyuzhou 2003-11-24
  • 打赏
  • 举报
回复
一样的!
没什么区分!



push varA
push varB
pop varA
pop varB



好点!
Jestic 2003-11-24
  • 打赏
  • 举报
回复
哪个最省内存?
SeaWave 2003-11-23
  • 打赏
  • 举报
回复
的确没有意义,也没有价值

push varA
push varB
pop varA
pop varB
huazaijiajia 2003-11-23
  • 打赏
  • 举报
回复
呵呵。。。

以前见过,顶
pdcdiy163 2003-11-23
  • 打赏
  • 举报
回复
是的讨论这东西没有什么实际的价值啊。
lqxmm 2003-11-23
  • 打赏
  • 举报
回复
没意思!给分吧!
fj218 2003-11-23
  • 打赏
  • 举报
回复
不错
flyforlove 2003-11-23
  • 打赏
  • 举报
回复
估计没啥意义。
flyforlove 2003-11-23
  • 打赏
  • 举报
回复
a:=a-b;
b:=b+a;
a:=b-a;
耙子 2003-11-23
  • 打赏
  • 举报
回复
讨论这东西有意义吗?
laurecn 2003-11-23
  • 打赏
  • 举报
回复
go on
flyforlove 2003-11-23
  • 打赏
  • 举报
回复
a:=a*b;
b:=a/b;
a:=a/b;
hnhb 2003-11-23
  • 打赏
  • 举报
回复
a:=a+b;
b:=a-b;
a:=a-b;
加载更多回复(4)

5,939

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧