Java - 16진수를 10진수로 변환

16진수의 문자열을 10진수(int, long)로 변환하는 방법을 소개합니다.

1. 16진수를 int 타입의 10진수로 변환

1.1 Integer.decode()

Integer.decode()0x00 같이 0x로 시작하는 16진수의 문자열을 10진수로 변환합니다.

public class Example {

    public static void main(String[] args) {

        String hex = "0x7FFFFFFF";

        int decimal = Integer.decode(hex);
        System.out.println(decimal);
    }
}

Output:

2147483647

1.1 Integer.parseInt()

Integer.parseInt(hex, 16)0x가 없는 16진수 문자열을 10진수로 변환합니다.

public class Example1 {

    public static void main(String[] args) {

        String hex = "7FFFFFFF";

        int decimal = Integer.parseInt(hex, 16);
        System.out.println(decimal);
    }
}

Output:

2147483647

2. 16진수를 long 타입의 10진수로 변환

int 크기를 벗어나는 16진수는 long 타입으로 변환해야 합니다.

2.1 Long.decode()

Long.decode()0x로 시작하는 16진수 문자열을 10진수로 변환합니다.

public class Example2 {

    public static void main(String[] args) {

        String hex = "0x7FFFFFFFFFFFFFF";

        long decimal = Long.decode(hex);
        System.out.println(decimal);
    }
}

Output:

576460752303423487

2.2 Long.parseLong()

Long.parseLong(hex, 16)0x가 없는 16진수 문자열을 10진수로 변환합니다.

public class Example2 {

    public static void main(String[] args) {

        String hex = "7FFFFFFFFFFFFFF";

        long decimal = Long.parseLong(hex, 16);
        System.out.println(decimal);
    }
}

Output:

576460752303423487
Loading script...
codechachaCopyright ©2019 codechacha