常用技巧

快速判断一个数是否是2的幂

#define is_power_of_2(x)    (!((x) & (x - 1)))

已知一个数n,求m,使m >= n,且m是2的幂

unsigned int fixsize(unsigned long size){
    if(is_power_of_2(size)) return size;
    size |= size >> 1;
    size |= size >> 2;
    size |= size >> 4;
    size |= size >> 8;
    size |= size >> 16;
    return size + 1;    
}

 

posted @ 2013-12-26 13:45  一零  阅读(231)  评论(0编辑  收藏  举报