在Java中把大量数字转换为十六进制

问题描述 投票:-1回答:1

我们知道长的最大值是9223372036854775807。

在我的例子中,我想把这个数字转换成 dec = 11265437495266153437 用这种方法将其转换为十六进制 Integer.toHexString(dec)

任何想法,如何得到这个结果 res = 9C56DFB710B493DD !

java hex decimal converters
1个回答
3
投票

BigInteger::toString( radix )

呼叫 BigInteger::toString 并通过 16 以获得十六进制文本。

具体操作如下。

import java.math.BigInteger;

public class Main {
    public static void main(String[] args) {
        String value = 
                new BigInteger("11265437495266153437", 10)
                .toString(16)
                .toUpperCase()
        ;
        System.out.println(value);
    }
}

输出

9C56DFB710B493DD

注意,默认的半径是 10 所以你可以跳过它,使用 new BigInteger("11265437495266153437") 取而代之的是没有任何半径参数的。

© www.soinside.com 2019 - 2024. All rights reserved.