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

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

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

任何想法,如何得到这个结果 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") 取而代之的是没有任何半径参数的。

给TA打赏
共{{data.count}}人
人已打赏
未分类

将DNN(DotNetNuke)迁移到Godaddy Plesk。

2022-9-8 4:46:19

未分类

谷歌存储一次为多个对象创建签名的网址。

2022-9-8 4:57:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索