首页
社区
课程
招聘
[分享]除以100的优化代码
发表于: 2011-2-12 00:34 4822

[分享]除以100的优化代码

2011-2-12 00:34
4822
#include <iostream>
using namespace std;

int main(int argc, char* argv[])
{
        int a,b;
        cin >>a;
        b = a/100;
        cout <<endl <<b <<endl;
        return 0;
}

今天分析一个软件发现了这个
b = a/100;
这行代码在VC6 Release模式下编译优化成下面的代码
00401092  |.  8B4C24 08        mov     ecx, dword ptr [esp+8] ; ecx <- a
00401096  |.  B8 1F85EB51      mov     eax, 51EB851F
0040109B  |.  F7E9             imul    ecx
0040109D  |.  C1FA 05          sar     edx, 5
004010A0  |.  8BCA             mov     ecx, edx
004010A2  |.  6A 0A            push    0A
004010A4  |.  C1E9 1F          shr     ecx, 1F
004010A7  |.  03D1             add     edx, ecx ;edx 是除法运算后的结果

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 45
活跃值: (25)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
http://bbs.pediy.com/showthread.php?t=116974
2011-2-12 09:15
0
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
3
2011-2-12 09:38
0
游客
登录 | 注册 方可回帖
返回
//