向大牛学习2.0!

int test(int n)

{
     n = (n&0x55555555) + ((n>>1)&0x55555555);
     n = (n&0x33333333) + ((n>>2)&0x33333333);
     n = (n&0x0f0f0f0f) + ((n>>4)&0x0f0f0f0f);
     n = (n&0x00ff00ff) + ((n>>8)&0x00ff00ff);
     n = (n&0x0000ffff) + ((n>>16)&0x0000ffff);
  
     return  n;
}

猜你喜欢

转载自www.cnblogs.com/IAmParasite/p/10125996.html