在基本的整数和浮点数精度不能够满足需求,那么可以使用两个类,BigInteger和BigDecimal。这两个类可以处理包含任意长度数字序列的数值。BigInteger类实现任意精度的整数运算,BigDecimal实现任意精度的浮点数运算。
使用静态的valueOf方法可以将普通的数值转换为大数,但是数值范围还是在int的数值范围内:
BigInteger a = BigInteger.valueOf(44545648);
对于更大的数,可以使用一个带字符串参数的构造器,类似与C++课程学习中的以字符的形式用String数组保存大数:
BigInteger a = new BigInteger("216548489151153648946515549846516848");
另外,在进行大数的运算时,需要使用大数类中的add和multiply方法
BigInteger c = a.add(b); //c = a+b
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2))); //d = c*(b+2)
零度灬音符
发布了1 篇原创文章 · 获赞 0 · 访问量 34
私信
关注