int x;

int cnt = 0;


1번

for(int i = 1; i < x ;  i <<= 1) {
     if(   ( i & x ) != 0 )  )  cnt++; 
}


2번
while(x) {

x = x & (x-1);

cnt++;

}


1번과 2번 모두 맞는 거 같은데 확인점.. 그리고 이 방법 말고 더 좋은 다른 방법 있나요