1. 10진수를 n진수로 변환
10진수를 다른 진수로 변환하는 방법은, 변환하려는 진수를 해당 진수로 더 이상 나눌 수 없을 때까지 나누기를 반복한 다음 마지막 몫과 나머지를 아래부터 위로 순서대로 적으면 된다.
207 [10]을 2진수, 8진수, 16진수로 변환하면 아래와 같다.
- 207[10] 2진수로 변환
2 | 207
2 | 103 ... 1
2 | 51 ... 1
2 | 25 ... 1
2 | 12 ... 1
2 | 6 ... 0
2 | 3 ... 0
2 | 1 ... 1
→ 110001111 [2]
- 207 [10] 8진수로 변환
8 | 207
8 | 25 ... 7
8 | 3 ... 1
→ 317 [8]
- 207 [10] 16진수로 변환
16 | 207
16 | 12(=C [16]) ... F
→ CF [16]
2. n진수를 10진수로 변환
어떤 진법의 수라도 10진수로 변환하는 방법은 똑같다. 각 자리의 수에 해당 단위의 값을 곱해서 모두 더하면 된다.
ex) 123 [10]
→ 100 + 20 + 3
→ 1* 10^2 + 2 * 10^1 + 3 * 10^0
- 1111011 [2] 10진수로 변환
→ 1 * 2^6 + 1 * 2^5 + 1 * 2^4 + 1 * 2^3 + 0 * 2^2 + 1 * 2^1 + 1 * 2^0
→ 64 + 32 + 16 + 8 + 2 + 1
→ 123 [10]
- 173 [8] 10진수로 변환
→ 1 * 8^2 + 7 * 8^1 + 3 * 8^0
→ 64 + 56 + 3
→ 123 [8]
- 7B [16] 10진수로 변환
→ 7 * 16^1 + B(=11 [10]) * 16^0
→ 112 + 11
→ 123 [10]
참고문헌 : 남궁성(2016), Java의 정석, 도우출판