어떤 정수형 변수의 값을 조사해서, 1로 설정된 비트 수가 몇 개나 되는지 알아야 할 때가 있습니다. 이럴 때 최적화된 여러 방법이 있지만, 제일 직관적이고 쉬운 방법은 다음과 같습니다.

unsigned int count_bits_set(unsigned int input_value)
{
        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;
}
좀 더 빠른 방법을 찾으려면, 검색 엔진에서 bit count라는 검색어로 검색하면 됩니다.
2009/01/27 13:43 2009/01/27 13:43

트랙백 주소 :: http://www.easyisright.net/trackback/570

댓글을 달아 주세요

  1. jjm 2009/02/01 04:18  댓글주소  수정/삭제  댓글쓰기

    그냥 stl 에 있는거 쓰면 안될까여?
    http://jungmoona.egloos.com/526206