#include <stdio.h>
void get_binary(int a);
void get_hexa(int a);
void print16(int a);
void get_octa(int a);
int main() {
int decimal;
printf("십진법 수를 입력하시오:");
scanf("%d", &decimal);
printf("2진수:");
get_binary(decimal);
printf("\n");
printf("16진수:");
get_hexa(decimal);
printf("\n");
printf("8진수:");
get_octa(decimal);
printf("\n");
return 0;
}
void get_binary(int a) { //10진수를 2진수로 변환하는 함수
if (a > 0) {
get_binary(a / 2);
printf("%d", a % 2);
}
}
void get_hexa(int a) { //10진수를 16진수로 변환하는 함수
if (a > 0) {
get_hexa(a / 16);
print16(a % 16);
}
}
void print16(int a) {
if (a < 10)
printf("%d", a);
else
printf("%c", 'A' + a - 10);
}
void get_octa(int a) { //10진수를 8진수로 변환하는 함수
if (a > 0) {
get_octa(a / 8);
printf("%d", a % 8);
}
}