求数二进制值中包含 1 的个数

遇到好几次了,代码中出现的,之前没见过还挺绕的。

 

#include <stdio.h>

void main(){
	int a=273;
	int count=0;

	while(a){
		a=a&(a-1);
		count++;
	}

	printf("%d\n",count);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章