2

我目前正在处理具有不同基数的数字。我正在使用函数 Long.parseLong 将数字从基本 int 转换为其十进制值:

Long.parseLong("A", 16) 将十六进制的 A 转换为其十进制值 10。然后我使用 Long.toString(10, 16) 将其转换回 A。

现在的问题是问题集中的一个条目是“AAAAAAAAAAAAAAAAAAAA”,当我使用 Long.parseLong(); 函数,它返回一个错误,因为转换的大小不能适合 Long。我尝试使用 Float,但恐怕没有以 int 为基数的 Float.parseFloat(String, int)。

有没有我可以使用的替代方案?BigInteger 也没有任何带有基数的解析函数。

任何帮助都感激不尽。

4

1 回答 1

6

BigInteger一个构造函数,它为您进行基数转换:

BigInteger num = new BigInteger("AAAAAAAAAAAAAAAAAAA", 16);

如果你想转换回十六进制,你可以使用toString

String hex = num.toString(16);
于 2012-07-27T11:22:24.850 回答