将任意长度十六进制转化为十进制应该注意什么?
一般来讲,进制转换是在字符串处理的时候才会用到,比如把一个数按照特定进制输出,或者由特定进制的数的字符串表示生成具体的数值,这样才会用到数的进制转换。如果是应用在RSA等等这样的数学算法里面,是没有必要使用字符串的,应该都是具体的数值。比方说,有一个InputStream,从这里可以得到具体的若干比特的数值,那么就可以直接读取它,不管多少位,因为数值是没有进制之分的,只有数值的表示才有进制之分。但是如果这个InputStream里面存放的是字符串(不应该这样的),那么只能用一些字符串处理来转换了。如果想要将数据用不同的进制表示出来,那么BigInteger和BigDecimal都很方便。
关键在于数据的输入是直接的数值还是字符串。如果很不幸是字符串,那么我建议lz改成二进制输入,因为很少有用字符串形式保存数值的,尤其在科学计算方面。