[JAVA] 진수 변환 | 10진수 <-> 2진수, 8진수, 16진수

2023. 1. 4. 16:20공부/JAVA

■ 10진수 -> 2진수, 8진수, 16진수로 변환하기

class Solution {
    public String solution() {
    	int i = 10;
        String binaryString = Integer.toBinaryString(i); //2진수(1010)
        String octalString = Integer.toOctalString(i);   //8진수(12)
        String hexString = Integer.toHexString(i);       //16진수(a)
        
        System.out.println(binaryString + ", " + octalString + ", " + hexString);
        
        return "return";
    }
}

결과

1010, 12, a
  • 10진수 -> 2진수 : Integer.toBinaryString(변환할 값)
  • 10진수 -> 8진수 : Integer.toOctalString(변환할 값)
  • 10진수 -> 16진수 : Integer.toHexString(변환할 값)

 

 

 

■ 2진수, 8진수, 16진수 -> 10진수로 변환하기

class Solution {
    public String solution(String bin1, String bin2) {
        int i = 10;
        String binaryString = Integer.toBinaryString(i); //2진수
        String octalString = Integer.toOctalString(i);   //8진수
        String hexString = Integer.toHexString(i);       //16진수
        
        //10진수로 변환(10)
        int binaryToDecimal = Integer.parseInt(binaryString, 2);
        int binaryToOctal = Integer.parseInt(octalString, 8);
        int binaryToHex = Integer.parseInt(hexString, 16);
        
        System.out.println(binaryToDecimal + ", " + binaryToOctal + ", " + binaryToHex);
        
        return "return";
    }
}

결과

10, 10, 10

 

10진수 변환은 Integer.parseInt를 사용한다.

  • 2진수 -> 10진수 : Integer.parseInt(2진수 값, 2)
  • 8진수 -> 10진수 : Integer.parseInt(8진수 값, 8)
  • 16진수 -> 10진수 : Integer.parseInt(16진수값, 16)