c语言中a&(a-1)=?,这句话是什么意思,想干什么,在哪能用

来源:学生作业学帮网 编辑:学帮网 时间:2024/05/26 19:52:44

c语言中a&(a-1)=?,这句话是什么意思,想干什么,在哪能用

a&(a-1)完成的功能是:去掉a最右边的一个1
如:
a=110
则: a&(a-1) = 100
一般用来数1的个数.
int count =0;
while(a)
{
a=a&(a-1);
count ++;
}