#include "stdio.h"
int count_bits(int x)
{
register int xx=x;
xx=xx-((xx>>1)&0x55555555);
xx=(xx&0x33333333)+((xx>>2)&0x33333333);
xx=(xx+(xx>>4))&0x0f0f0f0f;
xx=xx+(xx>>8);
return (xx+(xx>>16)) & 0xff;
}
int main(void)
{
printf("%d\n",count_bits(0x45));
} 原文作者:;如有侵权,请联系管理员删除。