2012년 4월 5일 목요일

진수 바꾸기

질문자 인사 감사합니다. 덕분에 많이 알아갑니다.

#include <stdio.h>
typedef unsigned int UINT;

void print(UINT dec)
{
int i=0;
for(i=0; i < 32; i++) {
printf("%c", (dec & (0x01 << i))? '1':'0');
}
putchar('\n');
}

UINT dec2bit(UINT dec)

{
UINT bit = 0U;
while(dec) {
bit |= (0x01 << (dec % 10));
dec /= 10;
}

return bit;
}

int main()
{
UINT bit1 = dec2bit(1234U);
UINT bit2 = dec2bit(3456U);
UINT bit3 = bit1 | bit2;

print(bit1);
print(bit2); print(bit3);

getchar();
return 0;
}

댓글 없음:

댓글 쓰기