#include <stdio.h>
#define MAX 100
char ChangeNum(int x)
{
if (x < 10)
return ( x + 48);
return(x + 55);
}
void ChangeTwo(int n)
{
int r[MAX]={0},cnt=0,i;
while(n > 0)
{
//나머지 저장
r[cnt] = n % 2;
n = n / 2;
cnt++;
}
printf("2진수 : ");
//cnt-1부터 배열 거꾸로 출력
for(i = cnt-1 ; i >= 0 ; i--)
{
printf("%d",r[i]);
}
printf("\n");
}
void ChangeEight(int n)
{
int r[MAX]={0},cnt=0,i;
while(n > 0)
{
r[cnt] = n % 8;
n = n / 8;
cnt++;
}
printf("8진수 : ");
for(i = cnt-1 ; i >= 0 ; i--)
{
printf("%d",r[i]);
}
printf("\n");
}
void ChangeSixteen(int n)
{
int cnt=0,i,x;
char r[MAX];
while(n > 0)
{
x = n % 16;
n = n / 16;
//16진수 형태로 바꾸어준다.
r[cnt]=ChangeNum(x);
cnt++;
}
printf("16진수 : ");
for(i = cnt-1 ; i >= 0 ; i--)
{
printf("%c",r[i]);
}
printf("\n");
}
int main()
{
int num;
printf("하나의 정수를 입력 : ");
scanf("%d",&num);
ChangeTwo(num);
ChangeEight(num);
ChangeSixteen(num);
return 0;
}
'Language > C & C Plus' 카테고리의 다른 글
[C] 버블 삽입 선택 퀵 Sort (0) | 2012.07.13 |
---|---|
[C] 로또 자동 생성 프로그램 (0) | 2012.07.13 |
[C] Stack 을 이용한 2진수 8진수 16진수 출력 (0) | 2012.07.13 |
[C] Postfix --> Infix (0) | 2012.07.13 |
[C] JUMIN 체크 (0) | 2012.07.13 |