C_C++

(C언어) 10진수를 16진수로 변환: 배열 이용

고니자니 2022. 10. 23. 09:22
반응형

#16진수 #10진수 #변환 #바꾸기

 

이전에 포스팅했던 10진수를 2진수로 변환하는 방법과 같은 방법이며, 그 때 사용했던 코드를 수정해서 16진수로 변환하도록 하였습니다.

(10진수를 2진수로 변환하는 방법은 아래쪽에 링크 남겼습니다.)

 

16진수는 나머지가 10,11,12,13,14,15 가 나올 수 있으면 이름 'A', 'B', 'C', 'D', 'E', 'F'로 표현해야 하기 때문에 다음과 같은 코드를 활용해야 합니다.

char chex[16] = "0123456789ABCDEF";

 

작성한 C언어 코드는 다음과 같습니다.

#define _CRT_SECURE_NO_WARNINGS   // Visual Studio

#include <stdio.h>
int main()
{
    char chex[16] = "0123456789ABCDEF";
    char hex[9] = { 0 };    // 모두 0(NULL)으로 초기화
    int i, a, n = 8;
    int blank = 0;          
    scanf("%d", &a);

    while (a > 0)
    {
        hex[n--] = chex[a % 16];    // 16로 나눈 나머지
        a /= 16;                    // 16로 나눈 몫
    }

    for (i = 0; i < 9; i++)
    {
        if (blank == 0 && hex[i] != 0) // 최초 0이 아닌 값을 찾음
            blank = 1;      
        if(blank==1)
            printf("%c", hex[i]);
    }
    printf("\n\n");

    return 0;
}

(Outout)

 


https://gonyzany.tistory.com/73

 

(C언어) 10진수를 2진수로 변환: 배열 이용

#10진수 #2진수 #십진수 #이진수 #변환 #바꾸기 #배열 10진수를 2진수로 변환하는 프로그램입니다. 바뀐 2진수를 배열에 저장해서 출력하는 방법입니다. (방법) a=13; // a는 13이라 가정 (1) a를 2로 나

gonyzany.tistory.com

 

 

 

728x90
반응형