社区
C语言
帖子详情
两个问题讨论下,大家给点意见
lala_benben
2008-07-03 09:37:44
1。下面哪个效率最高:
A i+=1;
B i=i+1;
C i++;
D ++i;
2.1000+1和1+1000 有什么区别。。
...全文
125
10
打赏
收藏
两个问题讨论下,大家给点意见
1。下面哪个效率最高: A i+=1; B i=i+1; C i++; D ++i; 2.1000+1和1+1000 有什么区别。。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Andrwyw
2008-07-07
打赏
举报
回复
[Quote=引用 1 楼 dbger 的回复:]
1.给编译器相关,看汇编VS2005:
int i = 0;
0041138E mov dword ptr [i],0
i += 1;
00411395 mov eax,dword ptr [i]
00411398 add eax,1
0041139B mov dword ptr [i],eax
i = i+1;
0041139E mov eax,dword ptr [i]
004113A1 add eax,1
004113A4 mov dword ptr [i],eax
i++;
004113A7 mov eax,dword ptr [i]
004113AA add e…
[/Quote]
up up
fouryu
2008-07-07
打赏
举报
回复
A和B只是同一个意思的不同写法,编译结果完全一样;
C和D因为存在先算++和后算++的问题,所以在编译处理上是不一样的。一般情况下,如果一个孤立的语句i++会比++i多生成一条汇编指令。至于编译优化,一般都能解决多余指令的问题。
如果是在32位或16位系统上1000+1和1+1000应该是没有什么区别的,但是如果是在8位系统,由于1000这个数据一个寄存器放不下,就存在较大的区别。
楼主要研究编译器么?
angelcm51
2008-07-07
打赏
举报
回复
[Quote=引用 5 楼 Jerrylearnc 的回复:]
想问问 第一个问题 是不是和编译器有关 谢谢 非常感谢
[/Quote]
编译器相关
青葱岁月不可追
2008-07-07
打赏
举报
回复
[Quote=引用 4 楼 bysdy 的回复:]
学习下~~~
[/Quote]
angelcm51
2008-07-07
打赏
举报
回复
这问题。。。
这F
Jerrylearnc
2008-07-07
打赏
举报
回复
想问问 第一个问题 是不是和编译器有关 谢谢 非常感谢
bysdy
2008-07-03
打赏
举报
回复
学习下~~~
zhangxichao
2008-07-03
打赏
举报
回复
呵呵,在很低级的编译器上(如学生作业),可能会有些差别。对于聪明的编译器,打开其优化开关,对于lz给出的语句,相信她会结合上下文给出效率最高的目标码,至于1+1000,和1000+1,很难想象编译器在生成目标码时不进行常量折叠(编译时已经计算出两个常量的和,不必再等到运行时)。
HelloDan
2008-07-03
打赏
举报
回复
2.1000+1和1+1000 有什么区别。。
得到的结果与效率上没有区别。但在实现上放在哪个寄存器有区别。
dbger
2008-07-03
打赏
举报
回复
1.给编译器相关,看汇编VS2005:
int i = 0;
0041138E mov dword ptr [i],0
i += 1;
00411395 mov eax,dword ptr [i]
00411398 add eax,1
0041139B mov dword ptr [i],eax
i = i+1;
0041139E mov eax,dword ptr [i]
004113A1 add eax,1
004113A4 mov dword ptr [i],eax
i++;
004113A7 mov eax,dword ptr [i]
004113AA add eax,1
004113AD mov dword ptr [i],eax
++i;
004113B0 mov eax,dword ptr [i]
004113B3 add eax,1
004113B6 mov dword ptr [i],eax
2.没区别,编译器在编译过程中就会计算出结果的
对计算机课程的
意见
和建议对老师,对老师教学工作的一
点
建议和
意见
(精选5篇)...
下面就是小编给大家整理的对老师教学工作的一
点
建议和
意见
(精选5篇),希望对大家有用。对老师教学的建议1一、目的、规范和标准1、必须写出各门课程要达到的目的和标准,而且要发给每一个学生。这些可写成提纲的形式...
审稿
意见
--感悟
接连整理了两天的审稿
意见
,看了大概1800份审稿
意见
,虽然不多,但还是满感慨的,接下来从审稿心态、审稿
意见
本身、审稿指标、以及如何建立合适(相对公平的)审稿方法等方面阐述下自己的观
点
。 审稿心态 最初做...
和大家
讨论
一下《Undocumented Windows 2000 Secrets》一书的翻译
问题
,希望大家给我一些建议
根据我对Windows XP和Windows Server 2003的研究来看,确如该书作者所言,这
两个
文件格式更新的非常快,而且变化比较大,本书中此部分的实际价值已不大。况且Windows本身已经提供了imagehlp.dll来进行这两种文件的...
[蓝桥杯python] 数字游戏:给定一个1~N的排列a[i],每次将相邻
两个
数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上一次的序列长度少1,最终只剩一个数字。 例如:
[蓝桥杯python] 数字游戏:给定一个1~N的排列a[i],每次将相邻
两个
数相加,得到新序列,再对新序列重复这样的操作,显然每次得到的序列都比上一次的序列长度少1,最终只剩一个数字。 例如:
无领导小组
讨论
面试真题解析(二)
无领导小组
讨论
面试真题解析:二、两难式无领导小组
讨论
题目
C语言
69,369
社区成员
243,082
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章