2017. 9. 15. 16:38
바이트에서 1인 비트의 갯수를 새는 방법은 여러가지가 있으나
본 글에서 적는 방법은 MSDN에서 제시하는 방법을 기술하고자 합니다.
간단히 비트 플래그 갯수를 새는 방법은 다음과 같은 코드로 수행할 수 있습니다.
WORD GetNumberOfBits( DWORD dwMask ) { WORD wBits = 0; while( dwMask ) { dwMask = dwMask & ( dwMask - 1 ); wBits++; } return wBits; }
위 코드는 MSDN에 적혀있는 코드입니다.
API 형식의 자료형으로 적혀있어서 기본 C++ 형태로 바꾼 코드는 다음과 같습니다.
가볍게 MSDN 코드를 바꾸어 테스트 코드와 비트 갯수를 세는 코드만 적어두었습니다.
'Programming > C++' 카테고리의 다른 글
프로그래머스 Level 1.피보나치 수 (0) | 2017.12.05 |
---|---|
[C++]최대공약수, 최소공배수 구하기 (0) | 2017.10.09 |
[C++]나눗셈을 피해서 연산하자 (0) | 2017.09.04 |
[C++]상점/인벤토리 만들기(콘솔) (0) | 2017.06.14 |
[C++]High/low/Seven (0) | 2017.06.14 |