CSDN博客

img avalonBBS

练习2-9

发表于2004/9/14 18:57:00  719人阅读

求对二的补码时,表达式x&=(x-1)可以删除x中最右边值为1的一个二进制位.请解释这样做的道理.用这一方法重写bitcount函数,以加快其执行速度.

原bitcount函数参P40

/********************************************************/
int bitcount(unsigned x)
{
 int b;
 for(b=0;x!=0;x&=(x-1),b++)
  ;
 return b;
}

0 0

相关博文

我的热门文章

img
取 消
img