2015년 6월 1일 월요일

C 언어로 정수에서 1이 설정된 비트(Bit) 수 세기 (2009)

출처: http://easyisright.net/570
(게임 개발/프로그래밍 2009/01/27 13:43)

어떤 정수형 변수의 값을 조사해서, 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라는 검색어로 검색하면 됩니다.

댓글 없음:

댓글 쓰기