如果要进行非常大的数计算或者高精度浮点数的计算,可以使用java.math包中的BigInteger类。它们都是不可变的。
注意是任意大小与任意精度的数。
在代码开头一定要 import java.math.*;
Java
import java.math.*;
public class javaLang {
public static void main(String[] args){
BigInteger m=new BigInteger("425287628746279647233986234525425423535345363534532463563463554");
BigInteger n=new BigInteger("1451454524154154278278278272278272727278272121541213");
BigInteger x=m.multiply(n);
System.out.println(x);
System.out.println("*********************************************");
System.out.println(factorial(100));
}
public static BigInteger factorial(long n){
BigInteger result=BigInteger.ONE;
for(int i=1;i<=n;i++){
result=result.multiply(new BigInteger(i+""));
}
return result;
}
}
结果:
m*n=6172856528105800233049127757055209998353469602134
76104253756703980080448006260985623488512735497261974037104350466897480350834451002 ********************************************* 100!=933262154439441526816992388562667004907159682643816214685
9296389521759999322991560894146397615651828625369792082722375825
1185210916864000000000000000000000000