1. 기본 개념
- Java에서 int 타입은 기본적으로 10진수로 인식합니다.
- 다른 진법(2진수, 8진수, 16진수 등)을 표현하려면 문자열(String) 형태로 변환해야 합니다.
- 변환 관련 주요 메서드
10진수 → n진수
- Integer.toString(int n, int radix) : 원하는 진수로 변환
- Integer.toBinaryString(int n) : 2진수
- Integer.toOctalString(int n) : 8진수
- Integer.toHexString(int n) : 16진수
n진수 → 10진수
- Integer.parseInt(String s, int radix) : n진수 문자열을 10진수로 변환
2. 10진수 → n진수 변환 예제
public class Solution {
public static void main(String[] args) {
int a = 25; // 변환할 10진수 값
System.out.println("2진수 : " + Integer.toString(a, 2));
System.out.println("2진수 (내장함수) : " + Integer.toBinaryString(a));
System.out.println("3진수 : " + Integer.toString(a, 3));
System.out.println("4진수 : " + Integer.toString(a, 4));
System.out.println("5진수 : " + Integer.toString(a, 5));
System.out.println("6진수 : " + Integer.toString(a, 6));
System.out.println("7진수 : " + Integer.toString(a, 7));
System.out.println("8진수 : " + Integer.toString(a, 8));
System.out.println("8진수 (내장함수) : " + Integer.toOctalString(a));
System.out.println("16진수 : " + Integer.toHexString(a));
}
}
실행 결과
2진수 : 11001
2진수 (내장함수) : 11001
3진수 : 221
4진수 : 121
5진수 : 100
6진수 : 41
7진수 : 34
8진수 : 31
8진수 (내장함수) : 31
16진수 : 19
3. n진수 → 10진수 변환 예제
public class Solution {
public static void main(String[] args) {
String a = "11001"; // 2~16진수로 해석 가능한 문자열
System.out.println("2진수 → 10진수 : " + Integer.parseInt(a, 2));
System.out.println("3진수 → 10진수 : " + Integer.parseInt(a, 3));
System.out.println("4진수 → 10진수 : " + Integer.parseInt(a, 4));
System.out.println("5진수 → 10진수 : " + Integer.parseInt(a, 5));
System.out.println("6진수 → 10진수 : " + Integer.parseInt(a, 6));
System.out.println("7진수 → 10진수 : " + Integer.parseInt(a, 7));
System.out.println("8진수 → 10진수 : " + Integer.parseInt(a, 8));
System.out.println("16진수 → 10진수 : " + Integer.parseInt(a, 16));
}
}
실행 결과
2진수 → 10진수 : 25
3진수 → 10진수 : 109
4진수 → 10진수 : 289
5진수 → 10진수 : 751
6진수 → 10진수 : 1789
7진수 → 10진수 : 2995
8진수 → 10진수 : 4673
16진수 → 10진수 : 69633
4. 정리
- 10진수 → n진수 : Integer.toString(값, 진수)
- n진수 → 10진수 : Integer.parseInt("문자열", 진수)
- 자주 쓰이는 2, 8, 16진수는 전용 메서드(toBinaryString, toOctalString, toHexString)도 제공됨
👉 개발하다가 진법 변환이 필요할 때는 위 메서드들을 적절히 활용하면 된다.

'Java' 카테고리의 다른 글
| [Java] 기본형 매개변수와 참조형 매개변수 (0) | 2025.10.03 |
|---|---|
| [Java] Primitive type(원시타입) vs. Reference type(참조타입) (3) | 2025.08.30 |
| [Java] Integer.valueOf()와 Integer.parseInt()의 차이 (1) | 2025.08.20 |
| [Java] Scanner vs BufferedReader 비교해보자 (2) | 2025.07.15 |
| [Java] 자주 쓰이는 이클립스 단축키 (1) | 2025.07.15 |