我来我网
https://5come5.cn
 
您尚未 登录  注册 | 菠菜 | 软件站 | 音乐站 | 邮箱1 | 邮箱2 | 风格选择 | 更多 » 
 

« 1 2» Pages: ( 1/2 total )
本页主题: x=x+1,x+=1,x++,为这三个语句的效率排序。并说明为什么。 隐藏签名 | 打印 | 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题

wan520





性别: 帅哥 状态: 该用户目前不在线
等级: 希望之光
发贴: 1724
威望: 0
浮云: 1125
在线等级:
注册时间: 2006-02-20
最后登陆: 2010-11-04

5come5帮你背单词 [ windy /'windi/ a. 有风的,多风的 ]


x=x+1,x+=1,x++,为这三个语句的效率排序。并说明为什么。

RT........RT!
顶端 Posted: 2007-09-19 09:43 | [楼 主]
竹之节



性别: 帅哥 状态: 该用户目前不在线
等级: 品行端正
发贴: 309
威望: 0
浮云: 1265
在线等级:
注册时间: 2006-05-06
最后登陆: 2009-03-10

5come5帮你背单词 [ auditorium /o:di'to:riəm/ n. 礼堂,听众(观众)席 ]


这个不是很清楚了,编C的时候也很少注意这些
顶端 Posted: 2007-09-19 09:46 | [1 楼]
惊羽九天



贝尔诺勋章
性别: 帅哥 状态: 该用户目前不在线
等级: 优秀版主
发贴: 1147
威望: 5
浮云: 0
在线等级:
注册时间: 2007-01-14
最后登陆: 2012-05-18

5come5帮你背单词 [ tanker /'tæŋkə/ n. 油轮,空中加油飞机 ]


x++ > x+=1 > x=x+1
编译成汇编语言就能发现了,指令长度x++是最短的
angel taigasama~
顶端 Posted: 2007-09-19 09:56 | [2 楼]
btkakashi



性别: 帅哥 状态: 该用户目前不在线
等级: 希望之光
家族: 尤文蒂尼
发贴: 1924
威望: 0
浮云: 1110
在线等级:
注册时间: 2007-05-12
最后登陆: 2008-06-30

5come5帮你背单词 [ harsh /ha:/ a. 粗糙的,(声音)刺耳的,(味道)涩口的,(光)刺目的,苛刻的,严酷的 ]


Quote:
引用第2楼惊羽九天于2007-09-19 09:56发表的  :
x++ > x+=1 > x=x+1
编译成汇编语言就能发现了,指令长度x++是最短的



蝈蝈正解



顶端 Posted: 2007-09-19 10:06 | [3 楼]
wan520





性别: 帅哥 状态: 该用户目前不在线
等级: 希望之光
发贴: 1724
威望: 0
浮云: 1125
在线等级:
注册时间: 2006-02-20
最后登陆: 2010-11-04

5come5帮你背单词 [ deal /di:l/ vt. 处理,对会,分给,给予;n. 交易 ]


Quote:
引用第2楼惊羽九天于2007-09-19 09:56发表的  :
x++ > x+=1 > x=x+1
编译成汇编语言就能发现了,指令长度x++是最短的


可以解释一下吗??不是很明白!拜谢了!
顶端 Posted: 2007-09-19 10:43 | [4 楼]
coolboy





性别: 保密 状态: 该用户目前不在线
等级: 品行端正
发贴: 252
威望: 0
浮云: 1107
在线等级:
注册时间: 2005-10-02
最后登陆: 2016-04-25

5come5帮你背单词 [ vendor /'vendə/ n. 小贩,卖主 ]


这个不一定,这三句都是C语句,效率要看编译后的汇编代码。
现代编译器优化都非常好,应该不会出现楼主所说的效率不同。

我在VC 7.1下用debug编译,三条语句相同,结果如下:
mov  eax, x
add    eax, 1
mov    x, eax

用release编译,都只有一条语句:
inc    eax

所以三条语句效率并无不同。
本帖最近评分记录:
  • 浮云:3(est) 积极讨论
  • 顶端 Posted: 2007-09-19 11:47 | [5 楼]
    demonwar



    年度之星奖
    性别: 帅哥 状态: 该用户目前不在线
    头衔: 头你妹的
    等级: 管理员
    家族: 存在与虚无
    发贴: 52925
    威望: 11
    浮云: 1406
    在线等级:
    注册时间: 2006-08-02
    最后登陆: 2018-06-18

    5come5帮你背单词 [ warm /wo:m/ a. 温暖的,暖和的,热情的,热心的,保暖的,御寒的;vt. (使)温暖 ]


    有必要么。。。
    签你妹的
    顶端 Posted: 2007-09-19 11:48 | [6 楼]
    lxlcn



    性别: 帅哥 状态: 该用户目前不在线
    等级: 鹤立鸡群
    发贴: 1310
    威望: 0
    浮云: 1741
    在线等级:
    注册时间: 2005-10-06
    最后登陆: 2011-06-29

    5come5帮你背单词 [ beginner /bi'ginə/ n. 初学者,无经验者 ]


    如果没有优化过的话2楼的是正解.
    顶端 Posted: 2007-09-19 11:52 | [7 楼]
    惊羽九天



    贝尔诺勋章
    性别: 帅哥 状态: 该用户目前不在线
    等级: 优秀版主
    发贴: 1147
    威望: 5
    浮云: 0
    在线等级:
    注册时间: 2007-01-14
    最后登陆: 2012-05-18

    5come5帮你背单词 [ rule /ru:l/ vt. & vi. 统治,控制,裁决;n. 规则,规定,习惯,惯例,支配,统治 ]


    Quote:
    引用第4楼wan520于2007-09-19 10:43发表的 :


    可以解释一下吗??不是很明白!拜谢了!

    用TC编译出来的汇编代码
    x++是
    inc dl
    x+=1和x=x+1都是
    mov al , dl
    inc al
    mov dl, al
    这个要看编译器怎么做优化了
    angel taigasama~
    顶端 Posted: 2007-09-19 11:57 | [8 楼]
    feiyu



    性别: 帅哥 状态: 该用户目前不在线
    等级: 鹤立鸡群
    家族: Westlife Family
    发贴: 1403
    威望: 0
    浮云: 1599
    在线等级:
    注册时间: 2005-10-27
    最后登陆: 2013-02-05

    5come5帮你背单词 [ borrow /'borəu/ vt. 借(东西),借入,采用,模仿 ]


    2楼正解,这个你不仅仅考虑效率,还要考虑到它执行时所占用的寄存器多少

    轻轻的余游来,
    正如余轻轻的游去,
    冒个泡泡,
    不带走一口RX的空气!

    4  years ago,
    With nothing here was I.
    4 years later,
    I've gone with nothing left
    顶端 Posted: 2007-09-19 12:09 | [9 楼]
    清杯



    性别: 帅哥 状态: 该用户目前不在线
    等级: 品行端正
    家族: 菠韬汹勇
    发贴: 360
    威望: 0
    浮云: 1115
    在线等级:
    注册时间: 2006-09-23
    最后登陆: 2008-06-29

    5come5帮你背单词 [ precaution /pri'ko:ən/ n. 预防,谨慎,警惕 ]


    Quote:
    引用第2楼惊羽九天于2007-09-19 09:56发表的  :
    x++ > x+=1 > x=x+1
    编译成汇编语言就能发现了,指令长度x++是最短的

    怎么看汇编的代码
    顶端 Posted: 2007-09-19 13:55 | [10 楼]
    电磁波





    性别: 帅哥 状态: 该用户目前不在线
    等级: 栋梁之材
    发贴: 702
    威望: 0
    浮云: 1134
    在线等级:
    注册时间: 2006-08-27
    最后登陆: 2008-06-26

    5come5帮你背单词 [ scratch /skræt/ vt. 搔,抓,勾销,删除;n. 抓,搔,抓伤,擦伤 ]


    翻译成机器语言看长短吧~
    顶端 Posted: 2007-09-19 13:59 | [11 楼]
    惊羽九天



    贝尔诺勋章
    性别: 帅哥 状态: 该用户目前不在线
    等级: 优秀版主
    发贴: 1147
    威望: 5
    浮云: 0
    在线等级:
    注册时间: 2007-01-14
    最后登陆: 2012-05-18

    5come5帮你背单词 [ bottom /'botəm/ vi. 底,底部 ]


    Quote:
    引用第10楼清杯于2007-09-19 13:55发表的 :

    怎么看汇编的代码

    先编译,再用debug载入使用u命令或是其它软件如W32DASM反汇编器
    angel taigasama~
    顶端 Posted: 2007-09-19 15:02 | [12 楼]
    disneycheng



    性别: 帅哥 状态: 该用户目前不在线
    头衔: Piano Prince
    等级: 荣誉会员
    发贴: 1971
    威望: 1
    浮云: 413
    在线等级:
    注册时间: 2005-12-16
    最后登陆: 2008-06-29

    5come5帮你背单词 [ quiet /'kwaiət/ a. 安静的,安定的,宁静的,娴静;vt. 使安静,平定;vi. 平静下来 ]


    不要看debug的那是垃圾
    因为所有的release优化后就不是那个样子了。呵呵
    编译器优化后一般他们三个等价
    Disney
    顶端 Posted: 2007-09-19 15:46 | [13 楼]
    kangtalc



    性别: 帅哥 状态: 该用户目前不在线
    头衔: 揍敌客·奇犽
    等级: 希望之光
    家族: 万人坑恋影部落
    发贴: 1723
    威望: 5
    浮云: 1113
    在线等级:
    注册时间: 2005-09-21
    最后登陆: 2008-06-29

    5come5帮你背单词 [ geography /d3əi'ogrəfi/ n. 地理(学) ]


    讨论这个没有什么意义吧,就是看汇编的指令条数就清楚了
    x++被翻译为inc指令,所以只有1条
    x = x + 1要用一个寄存器来存临时变量,再写回原来的内存,所以应该有几条指令来完成

    天上太陽  地上綠樹
    我們的身體在大地誕生
    我們的靈魂來自於天上
    陽光及月光照耀我們的四肢

    綠地滋潤我們的身體
    將此身交給吹過大地的風
    感謝上天賜與奇蹟與窟廬塔土地
    願我們的心靈能永保安康

    我願能與所有同胞分享喜樂
    願能與他們分擔悲傷
    請你永遠讚美窟廬塔族的人民
    讓我們以紅色的火紅眼為證

    顶端 Posted: 2007-09-19 15:55 | [14 楼]
    « 1 2» Pages: ( 1/2 total )
    我来我网·5come5 Forum » 程序员之家

    Total 0.010908(s) query 5, Time now is:11-22 15:14, Gzip enabled
    Powered by PHPWind v5.3, Localized by 5come5 Tech Team, 黔ICP备16009856号