大数
前面递归里面讲到的内容只适合计算比较小的阶乘,如果数据比较大的时候就需要用Java提供的类BigInteger了。
类BigInteger:用于存储、操作任意长度的带符号的十进制数字,即不限长度的一串不带小数的数字。
类BigDecimal:用于存储、操作任意精度和长度的带符号的十进制数字,即不限长度的一串可带小数的数字
从BigInteger类的构造方法可以看到,是以数组方式存储这些足够长的数字的。
//BigInteger其中一个构造方法
private BigInteger(int[] val)
类内方法
举几个BigInteger常用方法(BigDecimal类似):
//构造BigInteger实例
//BigInteger.valueOf(4)调用构造函数,创建值为4的BigInteger实例
BigInteger big1 = BigInteger.valueOf(4);
BigInteger big2 = BigInteger.valueOf(2);
//计算big1+big2
big1.add(big2);
//计算big1-big2
big1.subtract(big2);
//计算big1*big2
big1.multiply(big2);
//计算big1/big2
big1.divide(big2);
BigDecimal和BigInteger使用类似,此处不再过多介绍,有兴趣可以查API文档深入学习,其他方法也可参考JavaAPI文档,如果你没有,可以去下载:https://blog.csdn.net/qq_38199295/article/details/103160237