Java(7)大数

Java75

如果基本的整数和浮点数精度不能够满足需求,那么可以使用 java.math包中两个很有用的类: BigIntegerBigDecimal。这两个类可以处理包含任意长度数字序列的数值。 BigInteger类实现任意精度的整数运算, BigDecimal实现任意精度的浮点数运算。
使用静态的 valueof方法可以将普通的数值转换为大数:

BigInteger a = BigInteger.valueOf(100);

对于更大的数,可以使用一个带字符串参数的构造器:

BigInteger reallyBig = new BigInteger("134443493494321591498614658741974141641519614974168416516114914196419");

另外还有一些常量: BigInteger.ZEROBigInteger.ONEBigInteger.TEN
注意:我们不能使用算术运算符(如:+和*)处理大数,而需要使用大叔类中的 addmultiply方法。

BigInteger c = a.add(b); //c = a + b
BigInteger d = c.multiply(b.add(BigInteger.valueOf(2))); //d = c * (b + 2)
输入验证码查看隐藏内容

扫描二维码关注本站微信公众号 Johngo学长
或者在微信里搜索 Johngo学长
回复 svip 获取验证码
wechat Johngo学长