[C언어] 10진수->2진수, 16진수, 8진수

Dragony·2019년 12월 11일
0

C언어

목록 보기
2/5

#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);
}

}

profile
안녕하세요 :) 제 개인 공부 정리 블로그입니다. 틀린 내용 수정, 피드백 환영합니다.

0개의 댓글