我目前正在处理不同基数的数字。我使用函数Long.parseLong将数字从base int转换为其十进制值:
Long.parseLong(“A”,16)将A十六进制转换为十进制值10.然后使用Long.toString(10,16)将其转换回A.
现在的问题是问题集中的一个条目是“AAAAAAAAAAAAAAAAAAA”,当我使用Long.parseLong()时;函数,它返回一个错误,因为转换的大小不适合Long。我试图使用Float,但我担心没有Float.parseFloat(String,int),其中int作为其基数。
我可以使用替代品吗? BigInteger也没有基数的任何解析函数。
非常感谢任何帮助。
答案 0 :(得分:6)
BigInteger
有a constructor,它会为您进行基数转换:
BigInteger num = new BigInteger("AAAAAAAAAAAAAAAAAAA", 16);
如果您希望转换回十六进制,可以使用toString
:
String hex = num.toString(16);