1.6.2 16진수 출력
문제 1-15 주어진 10진수를 16진수로 출력하세요.
해결책
• 기수(base) 값은 함수 매개 변수로 주어집니다.
• 수(number)의 나머지를 계산해 숫자(digit)로 저장합니다.
• 수가 기수보다 크다면 수를 기수로 나눈 몫을 인자로 printInt() 함수를 재귀적으로 호출합니다.
• 수는 높은 자릿수에서 낮은 자릿수로 출력됩니다.
해결책 1-15
void printInt(unsigned int number, const int base) { char* conversion = "0123456789ABCDEF"; char digit = number % base; if (number /= base) { printInt(number, base); } printf("%c", conversion[digit]); }
분석 시간 복잡도는 O(n)입니다.