[Java] 진법 변환 정리 (n진수 <-> 10진수)

2025. 8. 30. 14:22·Java

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
'Java' 카테고리의 다른 글
  • [Java] 기본형 매개변수와 참조형 매개변수
  • [Java] Primitive type(원시타입) vs. Reference type(참조타입)
  • [Java] Integer.valueOf()와 Integer.parseInt()의 차이
  • [Java] Scanner vs BufferedReader 비교해보자
싹난 감자🥔🌱
싹난 감자🥔🌱
개발 블로그
  • 싹난 감자🥔🌱
    감자에 싹이나서 잎이나서
    싹난 감자🥔🌱
  • 전체
    오늘
    어제
    • 분류 전체보기 (44) N
      • Spring (3)
      • Java (17)
      • LLM (1)
      • DevOps (4)
      • Algorithm (14)
        • 백준 (4)
        • 프로그래머스 (0)
        • 코드업 (10)
      • Computer Science (3)
        • Operating System (2)
        • Computer Architecture (1)
      • Trouble Shooting 🚀 (0)
      • 회고 & 성장기록 (2) N
      • 설계 📐 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    구간합
    비트
    자바Scanner비교
    자바BufferedReader
    코딩테스트
    docker
    알고리즘입력
    배포
    Java
    자바성능
    2진수
    2차원 배열
    BufferedReader
    Scanner
    자바 입력
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
싹난 감자🥔🌱
[Java] 진법 변환 정리 (n진수 <-> 10진수)
상단으로

티스토리툴바