#include<stdio.h>intNumberOf1(int n){int count =0;for(int i =0; i <32; i++){if((n >> i)&1==1){
count++;}}return count;}intmain(){int n =10;//00000000000000000000000000001010----------10//00000000000000000000000000000001----------1//00000000000000000000000000000000----------0//按位与int num =NumberOf1(n);printf("%d\n", num);return0;}
方法二:
n=n&(n-1)
intNumberOf1(int n){int count =0;while(n){
n = n &(n -1);
count++;}return count;}