在Java中,由CPU原生提供的整型最大范围是64位long型整数。使用 long
型整数可以直接通过CPU指令进行计算,速度非常快。
如果在操作的时候一个整型数据已经超过了整数的最大类型长度 long
的话,则此数据就无法装入,所以,此时要使用BigInteger类进行操作。
初始化一个 BigInteger
对象:
publicclassTest { publicstaticvoidmain(String[] args) { BigIntegerbi=newBigInteger("1234567890"); System.out.println(bi); } }
如果一个64位内的整数进行运算后作为一个大数,那么就需要用到BigInteger进行计算:
publicclassTest { publicstaticvoidmain(String[] args) { BigIntegerbi=newBigInteger("1234567890"); System.out.println(bi.pow(2)); // 抛出异常"main" java.lang.NumberFormatException: Zero length BigInteger// System.out.println(1234567890L^2); } }
输出:
但是以注释的平方运算的话,则会抛出一个异常:
"main" java.lang.NumberFormatException: Zero length BigInteger