关闭

求余算法(非%!!)

359人阅读 评论(0) 收藏 举报
使用%进行求余:
        DWORD x = 31;
DWORD y = 16;

unsigned k = 0;
DWORD t1 = GetTickCount();
for(k=0; k<10000000; k++){
y = x % 16;
}
TRACE("\n%lu\n", GetTickCount() - t1); 
输出在47 - 67之间; 

 使用位移进行求余

        DWORD x = 31;
DWORD y = 16;

unsigned k = 0;
DWORD t1 = GetTickCount();
for(k=0; k<10000000; k++){
y = ((x << 28) >> 28);
}
TRACE("\n%lu\n", GetTickCount() - t1);   

输出在31-32之间。
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:13986次
    • 积分:357
    • 等级:
    • 排名:千里之外
    • 原创:22篇
    • 转载:9篇
    • 译文:0篇
    • 评论:1条
    最新评论