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

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

1. Integer.toString(), Integer.toHexString()으로 16진수 변환

Integer 타입은 다음과 같이 Integer.toHexString(decimal), Integer.toString(decimal, 16)을 사용하여 16진수로 변환할 수 있습니다.

public class Example1 {

    public static void main(String[] args) {

        int decimal = 1234;

        String hex = Integer.toHexString(decimal);
        System.out.println(hex);

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

Output:

4d2
4d2

2. Long.toString(), Long.toHexString()으로 16진수 변환

Integer 타입의 범위를 넘는 정수는 Long에서 16진수로 변환해야 합니다.

다음과 같이 Long.toHexString(decimal), Long.toString(decimal, 16)을 사용하여 16진수로 변환할 수 있습니다.

public class Example2 {

    public static void main(String[] args) {

        long decimal = Long.MAX_VALUE;

        String hex = Long.toHexString(decimal);
        System.out.println(hex);

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

Output:

7fffffffffffffff
7fffffffffffffff

3. String.format()으로 16진수 변환

String.format(%x, decimal)으로 정수를 16진수로 변환할 수 있습니다. Int, Long 타입에 대해서 아래와 같이 사용할 수 있습니다.

public class Example4 {

    public static void main(String[] args) {

        int decimal = 1234;
        String hex = String.format("%x", decimal);
        System.out.println(hex);

        long longDecimal = Long.MAX_VALUE;
        hex = String.format("%x", longDecimal);
        System.out.println(hex);
    }
}

Output:

4d2
7fffffffffffffff
Loading script...
codechachaCopyright ©2019 codechacha