最接近且大于等于某个正整数的2的整数次幂

unsigned int nextPOT(unsigned int x)
{
    x = x - 1;
    x = x | (x >> 1);
    x = x | (x >> 2);
    x = x | (x >> 4);
    x = x | (x >> 8);
    x = x | (x >>16);
    return x + 1;
}

 

posted @ 2014-03-26 14:08  起个名字真费劲  阅读(214)  评论(0编辑  收藏  举报