반응형
문제
10진수를 2, 8, 16 진수로 변환하시오. (n <= 16)
풀이
2, 8, 16 진수로 변환하기 위해서 간단히 진수 변환 방법을 짚고 넘어가겠습니다.
10진수를 2진수로 변환하는 방법을 예로 들겠습니다.
변환하려는 값을 2로 나누어 몫과 나머지로 위와 같이 구하는 작업을 반복해서 몫이 0이 됐을 때 나머지를 역순으로 표시하면 끝입니다.
만약, 나머지가 10 이상일 경우 10 = A, 11 = B, 12 = C, 13 = D, 14 = E, 15 = F 로 표시합니다.
코드
public class ChangeNumber {
public static void main(String[] args) {
System.out.println("10진수 125를 2진수로 : " + changeNumber(125, 2));
System.out.println("10진수 125를 8진수로 : " + changeNumber(125, 8));
System.out.println("10진수 125를 16진수로 : " + changeNumber(125, 16));
}
public static String changeNumber(int num, int i) {
String answer = "";
int remainder = 0;
while(num != 0) {
remainder = num%i;
if(num%i < 10) {
answer = remainder + answer;
} else {
//A=65, B=66, C=67, D=68, E=69, F=70
answer = (char)(remainder + 55) + answer;
}
num /= i;
}
return answer;
}
}
결과
10진수 125를 2진수로 : 1111101
10진수 125를 8진수로 : 175
10진수 125를 16진수로 : 7D
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm] 만 나이 계산하기 (Calculate american age) (2) | 2020.05.06 |
---|---|
[Algorithm] 스택 두 개로 큐 만들기 (Implementing a Queue Using Two Stacks) (1) | 2019.10.22 |
댓글