
在java中经常会遇到比较大的数,甚至超过了long型,那么该如何处理这些“大数据”呢?在java中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,从原则上是可以表示“天文单位”一样大的数字咯,但有一个缺点就是比较费内存!
就是将字符串 转为 byte[] val之后,将每一个字节都变成整数类型,
如果参数字节数组以-1开头,不管几个,只要-1是连续的,
那么这些-1都看成是符号-,这些-1的下一个字节才是有
效字节。
如果不以-1开头而是其他负数,则有效字节从索引0开始。
将每个字节的二进制补码按顺序连接起来后
去掉开头的0后返回。String s1 = "126656864e144ad88d7ff96badd2f68b"; // 16进制数
BigInteger b = new BigInteger(s1,16); // 16进制转成大数类型
String s2 = b.toString(16); // 大数类型转成16进制