Java学习–大数
java.math包含两个很有用的类:BigInteger和BigDecimal,分别可以实现任意精度的整数运算和任意精度的浮点数运算。
BigInteger a = BigInteger.valueOf(100);
BigInteger reallyBig = new BigInteger("123456789098765543211");
BigInteger c = a.add(b);//c = a + b
BigInteger d = c.multiply(b.add(BitInteger.valueOf(2)));//d = c * (b+2)
BigInteger e = a.divide(d);
BigInteger f = e.subtract(BigInteger.valueOf(1));
BigInteger g = f.mod(e);
BigInteger h = g.sqrt();
int compareTo(BigInteger other)//相等返回0,小于返回负数,大于返回正
BigDecimal divide(BigDecimal other)//商无限循环会抛出异常
BigDecimal divede(BigDecimal other, RoundingMode mode)
//返回这个大实数与other的商,根据mode选择舍入方法,RoundingMode.HALF_UP是四舍五入,较为常用
static BigDecimal valueOf(long x)
statci BigDecimal valueOf(long x, int scale)
//x/10^scale