将 Java 中的大数转换为十六进制

Convert a large number to hex in Java

据我们所知,long 的最大值为 9223372036854775807

在我的例子中,我想使用此方法 Integer.toHexString(dec)

将此数字 dec = 11265437495266153437 转换为十六进制

知道如何得到这个结果 res = 9C56DFB710B493DD !

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") 代替,它没有任何基数参数。