어떤 정수형 변수의 값을 조사해서, 1로 설정된 비트 수가 몇 개나 되는지 알아야 할 때가 있습니다. 이럴 때 최적화된 여러 방법이 있지만, 제일 직관적이고 쉬운 방법은 다음과 같습니다.
unsigned int count_bits_set(unsigned int input_value)좀 더 빠른 방법을 찾으려면, 검색 엔진에서 bit count라는 검색어로 검색하면 됩니다.
{
unsigned int number_of_bits_set = 0;
for (; input_value > 0; input_value >>= 1)
{
number_of_bits_set += input_value & 1;
}
return number_of_bits_set;
}

댓글을 달아 주세요
그냥 stl 에 있는거 쓰면 안될까여?
http://jungmoona.egloos.com/526206
bitset을 안 써 봐서 몰랐어. C++에선 그거 쓰는 게 낫겠네.