쉬운걸 엄청 고민했다. 수정 할 부분이 어딘지 찾고 있다.
구글 검색으로 4줄안에 끝나는 소스도 있어서 많이 좌절했었다.
#include <stdio.h>
unsigned char HexNonZeroCount(unsigned int n);
int main()
{
printf("HexNonZeroCount = %d\n",HexNonZeroCount(1026));
return 0;
}
unsigned char HexNonZeroCount(unsigned int n)
{
unsigned char nCount = NULL;
unsigned char ucHexParsed[4]={};
ucHexParsed[0]=n&0xFF;
ucHexParsed[1]=n>>=8&0xFF;
ucHexParsed[2]=n>>=8&0xFF;
ucHexParsed[3]=n>>=8&0xFF;
for(int i=0; i<4; i++)
{
if(ucHexParsed[i])
{
int j;
for(j=0; ucHexParsed[i]!=0; j++)
{
ucHexParsed[i]&=ucHexParsed[i]>>1;
}
nCount+=j;
}
}
return nCount;
}
'프로그래밍 > 기본 알고리즘' 카테고리의 다른 글
recursive sum - 재귀 합 정렬 N to M (0) | 2014.04.29 |
---|---|
recursive sum - 재귀 합 (0) | 2014.04.29 |
recursive function binary search - 재귀 이진 정렬 (0) | 2014.04.29 |
insertion sort - 삽입 정렬 (0) | 2014.04.29 |
두 값 중 가장 큰 값 찾기 (0) | 2014.04.29 |