Monday, December 29, 2014

2진수의 1의 갯수


int ones(int x)
{
if(x==0) return 0;
return 1 + ones(x&(x-1));
}

0은 당연히 0
x&(x-1)은  x에서 1의 갯수 하나를 뺀숫자가 된다

그 뺸숫자를 따로뺴서 1을 더해준다

No comments:

Post a Comment