免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: flw
打印 上一主题 下一主题

一个小问题,大家竞答一下。 [复制链接]

论坛徽章:
8
白羊座
日期:2015-01-21 18:35:03巳蛇
日期:2015-02-03 17:30:37处女座
日期:2015-02-03 17:31:02羊年新春福章
日期:2015-02-03 17:31:21巨蟹座
日期:2015-02-05 16:01:06申猴
日期:2015-02-05 16:01:31摩羯座
日期:2015-02-05 16:01:41酉鸡
日期:2015-02-05 16:02:37
11 [报告]
发表于 2003-01-24 09:36 |只看该作者

一个小问题,大家竞答一下。

a=a+b;
b=a-b;
a=a-b;
算是比较经济的代码了吧。

论坛徽章:
0
12 [报告]
发表于 2003-01-24 10:14 |只看该作者

一个小问题,大家竞答一下。

原帖由 "pydwh" 发表:
int a,b;
                a=a+b;
        b=a-b;
        a=a-b;

这都是怎么想出来的,能否告知思路?

论坛徽章:
0
13 [报告]
发表于 2003-01-26 01:06 |只看该作者

一个小问题,大家竞答一下。

原帖由 "qdqiqi" 发表:

这都是怎么想出来的,能否告知思路?

呵呵!思路就是“两个数的和减去一个数必然等于另外一个数”。

论坛徽章:
0
14 [报告]
发表于 2003-01-27 08:07 |只看该作者

一个小问题,大家竞答一下。

高,实在是高呀!  

论坛徽章:
0
15 [报告]
发表于 2003-01-27 10:41 |只看该作者

一个小问题,大家竞答一下。

进行算术运算有一个限制的问题,如果a+b超过了int类型最大值呢?a*b就更不用说了。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
16 [报告]
发表于 2003-01-27 12:35 |只看该作者

一个小问题,大家竞答一下。

回楼上的:所以说:
原帖由 "feeling" 发表:
a=a+b;
b=a-b;
a=a-b;
算是比较经济的代码了吧。

论坛徽章:
0
17 [报告]
发表于 2003-01-28 14:34 |只看该作者

一个小问题,大家竞答一下。

都是高人呀,I 服了U

论坛徽章:
0
18 [报告]
发表于 2003-02-05 00:33 |只看该作者

一个小问题,大家竞答一下。

我试试:
int a,b;
a=a-b;
b=a+b;
a=b-a;

论坛徽章:
0
19 [报告]
发表于 2003-02-05 00:55 |只看该作者

一个小问题,大家竞答一下。

但减也会溢出!
除非判断a是否小于0再做一些手脚
但那样也太冗余了!
不知道还有没有更好的办法!
思考ing......

论坛徽章:
0
20 [报告]
发表于 2003-02-05 01:39 |只看该作者

一个小问题,大家竞答一下。

int a, b;   

_AX = a;
b = a;
a  = _AX;

32位系统依此类推。

补充:
其实将t定义成regist类型也可以。
还是我的效率高。因为你在做加减乘除法时也要用到寄存器。
但是我的不需要进行运算。
有的高效率编译器可以将t自动优化掉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP