반응형
소스 코드
#include <stdio.h>
int BinaryCounter(int num,int count)
{
int half_num = num >> 1;
int isone = 0;
if (num == 0)
{
return count;
}
isone = (num != (half_num + half_num));
if (isone)
{
count++;
}
count = BinaryCounter(half_num,count);
printf("%d", isone);
return count;
}
void TestBinaryCounter(int num)
{
int count = 0;
printf("=== Test number: %d \n", num);
count = BinaryCounter(num, 0);
printf("\n이진수에서 1의 개수:%d\n", count);
printf("-----------------------\n");
}
int main()
{
TestBinaryCounter(6);
TestBinaryCounter(24);
TestBinaryCounter(17);
TestBinaryCounter(31);
system("pause");
return 0;
}
반응형
'C언어 > C언어 예제' 카테고리의 다른 글
float 4바이트 실수 형식 메모리에 표현 방식을 확인할 수 있는 C 소스 코드 작성하기 (0) | 2020.04.22 |
---|---|
[C언어 소스] 순차 정렬 알고리즘 시뮬레이션(정렬 과정 시각화) (0) | 2020.04.13 |
[C언어 소스] 문자열의 뒤쪽 공백 문자를 제거 (0) | 2016.11.27 |
[C언어 소스] 문자열의 앞쪽 공백 문자를 제거 (0) | 2016.11.27 |
[C언어 소스] 문자열의 마지막 문자 제거 (0) | 2016.11.27 |