Integer.parseint 진수 - integer.parseint jinsu

10진수를 2진수,8진수,16진수로 변환 할 때, Integer 클래스의 toBinaryString, toOctalString, toHexString 함수를 사용

int i = 127;

String binaryString = Integer.toBinaryString(i); //2진수

String octalString = Integer.toOctalString(i);   //8진수

String hexString = Integer.toHexString(i);       //16진수

System.out.println(binaryString); //1111111

System.out.println(octalString);  //177

System.out.println(hexString);    //7f

반대로 2진수,8진수,16진수를 10진수로 변환하기 위해선 Integer 클래스의 parseInt를 사용하여 쉽게 변환이 가능

int binaryToDecimal = Integer.parseInt(binaryString, 2);

int binaryToOctal = Integer.parseInt(octalString, 8);

int binaryToHex = Integer.parseInt(hexString, 16);

System.out.println(binaryToDecimal); //127

System.out.println(binaryToOctal);   //127

System.out.println(binaryToHex);     //127

자바 2진수, 8진수, 16진수 변환 시에는 Integer 클래스 API를 활용하면 편하다.

(참고 : https://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html)

10진수 -> 2진수, 8진수, 16진수 변환

int num = 77;

String a2 = Integer.toBinaryString(num);  // 10진수 -> 2진수

String a8= Integer.toOctalString(num);    // 10진수 -> 8진수

String a16 = Integer.toHexString(num);    // 10진수 -> 16진수

System.out.println("2 진수 : " + a2);

System.out.println("8 진수 : " + a8);

System.out.println("16 진수 : " + a16);

cs

결과

2 진수 : 1001101

8 진수 : 115

16 진수 : 4d


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

int num = 77;

String a2 = Integer.toBinaryString(num);

String a8= Integer.toOctalString(num);

String a16 = Integer.toHexString(num);

int a2_2 = Integer.parseInt(a2, 2);

int a8_8 = Integer.parseInt(a8, 8);

int a16_16 = Integer.parseInt(a16, 16);

System.out.println(a2_2);

System.out.println(a8_8);

System.out.println(a16_16);


결과

어제 오늘 내일

IT/Java

[Java] 10진수 <-> 2진수, 8진수, 16진수로 변환하기

hi.anna 2021. 4. 24. 22:11

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

java.lang.Integer의 toBinaryString(), toOctalString(), toHexaString() 메소드를 이용하여

10진수를 2진수, 8진수, 16진수 문자열로 변환할 수 있습니다.

리턴 타입 클래스 메소드 설명
static String java.lang.Integer toBinaryString(int i) 10진수 -> 2진수
static String java.lang.Integer toOctalString(int i) 10진수 -> 8진수
static String java.lang.Integer toHexaString(int i) 10진수 -> 16진수

 예제 

public class NumberConvert {
    public static void main(String[] args) {
        int decimal = 10;

        String binary = Integer.toBinaryString(decimal); // 10진수 -> 2진수
        String octal = Integer.toOctalString(decimal); // 10진수 -> 8진수
        String hexaDecimal = Integer.toHexString(decimal); // 10진수 -> 16진수

        System.out.println("10진수 : " + decimal);
        System.out.println("2진수 : " + binary);
        System.out.println("8진수 : " + octal);
        System.out.println("16진수 : " + hexaDecimal);
    }
}

 결과 

10진수 : 10
2진수 : 1010
8진수 : 12
16진수 : a

위 코드는 10진수 10을 

2진수, 8진수, 16진수로 변환하고 있습니다.

2진수, 8진수, 16진수 -> 10진수

java.lang.Integer 클래스의 parseInt() 메소드를 이용하여

2진수, 8진수, 16진수 문자열을 10진수 integer로 변경할 수 있습니다.

리턴 타입 클래스 메소드 설명
static int java.lang.Integer parseInt(String s) 문자열(s)을 10진수로 읽어서
int로 반환합니다.
static int java.lang.Integer parseInt(String s, int radix) 문자열(s)을 변환할 진수(radix)로 읽어서
int로 반환합니다.
(따라서, 2번째 파라미터(radix)를 10으로 입력하면, parseInt(String s)와 같습니다.)

 예제 

public class NumberConvert {
    public static void main(String[] args) {

        int binaryToDecimal = Integer.parseInt("1010", 2);
        int octalToDecimal = Integer.parseInt("12", 8);
        int hexaToDecimal = Integer.parseInt("A", 16);

        System.out.println("2진수(1010) -> 10진수 : " + binaryToDecimal); // 10
        System.out.println("8진수(12) -> 10진수 : " + octalToDecimal); // 10
        System.out.println("16진수(a) -> 10진수 : " + hexaToDecimal); // 10

    }
}

 결과 

2진수(1010) -> 10진수 : 10
8진수(12) -> 10진수 : 10
16진수(a) -> 10진수 : 10

위 코드는 2진수, 8진수, 16진수를 10진수로 변환하고 있습니다.