2012. 7. 13. 14:40

#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
Posted by 몰라욧