不用除法运算,实现A/3

来源:互联网 发布:我知你好未再书包网 编辑:程序博客网 时间:2024/04/29 12:55

原帖地址 17楼

int div3(int num)
{


    __int64 a = num;
    __int64 d = 0;
    __int64 res = 0;
    d = a<<32;
    do {
        d = d>>2;
        res += d;
    } while (d != 0);


    res += 4; //注意这里
    res >>= 32;
    return (int)res;
}