자바) N진수와 10진수 변환 방법

JangDongyul·2023년 6월 6일
0

JAVA

목록 보기
5/5

1. N진수를 10진수로 만드는 방법

Integer.parseInt("N진수 문자열", "N진수")

또는

Long.parseLong("N진수 문자열", "N진수")

를 사용하면 10진수로 반환해준다.

public class Binary {
    public static void main(String[] args) throws Exception {

        System.out.println(Integer.parseInt("100",7));
        //7진수로 100을 10진수로 만든다.
		//10진수로 변환된 49 리턴
        System.out.println(Long.parseLong("100", 8));
        //8진수로 100인 수를 10진수로 만든다.
      	//10진수로 변환된 64 리턴
    }
}

2. 10진수를 N진수로 만드는 방법

Integer.toString(10진수, 변환하고 싶은 N진수)

Long.toString(10진수, 변환하고 싶은 N진수)

public class Binary {
    public static void main(String[] args) throws Exception {

	System.out.println(Integer.toString(100,2));
        //10진수로 100을 2진수로 만든다.
        //2진수 1100100 리턴

	System.out.println(Long.toString(100,2));
        //10진수 100을 2진수로 만든다.
		//2진수 1100100 리턴
    }
}

전체 코드

public class Binary {
    public static void main(String[] args) throws Exception {

        System.out.println(Integer.parseInt("100",7));
        //7진수로 100을 10진수로 만든다.
        System.out.println(Integer.toString(100,2));
        //10진수로 100을 2진수로 만든다.

        System.out.println(Long.parseLong("100", 8));
        //8진수로 100인 수를 10진수로 만든다.
        System.out.println(Long.toString(100,2));
        //10진수 100을 2진수로 만든다.

    }
}

실행결과

다만, 코딩테스트에서는 이런 라이브러리를 사용하지 않고,
직접 구현할 수 있게 문제를 낸다.

예를 들면, long 범위로도 표현할 수 없는
매우 큰 범위의 숫자를 N진법 변환시키는 문제를 내면 Long.toString() 이나 Long.parseLong()메서드를 사용할 수 없을 것이다.

그런 문제는 백준 1212번이 있다.
백준 1212번 링크

0개의 댓글