Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
비트 연산 : 십진수의 이진수 표기에서의 1의 개수 구하기 본문
728x90
반응형
십진수를 이진수로 표기하고, 이진수 표기에서 1을 구하고 싶다면,
십진수 i를 2로 나눈 값 i/2의 1의 개수에, i가 홀수면 1을 더하고, 짝수인 경우 더하지 않으면 된다.
#include <iostream>
// 십진수를 이진수로 변환하고 1의 개수를 구하는 함수
int countOnesInBinary(int n)
{
int count = 0;
while (n > 0)
{
count += n % 2; // 현재 비트가 1이면 count에 1을 더함
n /= 2; // 십진수를 2로 나눔
}
return count;
}
int main()
{
int i = 25; // 예시로 25를 사용
int binaryCount = countOnesInBinary(i);
std::cout << i << "의 이진 표현에서 1의 개수: " << binaryCount << std::endl;
return 0;
}
참고: https://riveroverflow.tistory.com/164
728x90
반응형
'컴퓨터과학 > 비트마스킹' 카테고리의 다른 글
비트 연산: 가장 오른쪽 1을 없애기 (0) | 2023.11.29 |
---|