65,182
社区成员




x = x - 1;
while ( x ) {
x = x >> 1;
i++;
}
mi = 1 << i;
unsigned clp2(unsigned x){//0010 1100 0000 0000 0000 0000 0000 0000 0000 0001
x=x-1; //0010 1100 0000 0000 0000 0000 0000 0000 0000 0000
x= x|(x>>1); //0011 1110 0000 0000 0000 0000 0000 0000 0000 0000
x= x|(x>>2); //0011 1111 1000 0000 0000 0000 0000 0000 0000 0000
x= x|(x>>4); //0011 1111 1111 1000 0000 0000 0000 0000 0000 0000
x= x|(x>>8); //0011 1111 1111 1111 1111 1000 0000 0000 0000 0000
x= x|(x>>16); //0011 1111 1111 1111 1111 1111 1111 1111 1111 1111
return x+1; //0100 0000 0000 0000 0000 0000 0000 0000 0000 0000
}
unsigned clp2(unsigned 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;
}