본문 바로가기

컴퓨터/기타 언어 공부

c언어로 만든 16진수 변환

#include <stdio.h>

int conv(char result[], int n, int k, int i) {
	char arr[16] = { '0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F' };
	if (n == 0)
		return i;
	int x = n / k;
	int y = n % k;

	result[i++] = arr[y];

	conv(result, x, k, i);
}

int main(void) {
	int num;
	scanf_s("%d", &num);
	char ans[10];
	int last = conv(ans, num, 16, 0);
	ans[last] = '\0';
	printf("변환된 수는 ");
	for (int j = last - 1; j >= 0; j--) {
		printf("%c", ans[j]);
	}
	printf(" 입니다. \n");

	return 0;
}