Java中的大数字BigInteger和BigDecimal


BigInteger 和 BigDecimal 是在java.math包中已有的类,前者表示整数,后者表示浮点数。

为什么用大数字?

1) BigInteger:支持任意精度的整数,可以精确地表示任意大小的整数值,同时在运算过程中不会丢失任何信息。
2) BigInteger:可以精确地表示任意精度的小数,同时在运算过程中不会丢失任何信息。

注意:不能直接用符号如+、-来使用大数字,例如: 
import java.math.BigInteger;
public class Main {
    public static void main(String[] args)  {
        int a = 231, b = 423, c = 1393;
        BigInteger x, y, z, ans;
        x = BigInteger.valueOf(a);
        y = BigInteger.valueOf(b);
        z = BigInteger.valueOf(c);
        ans = x.add(y); //加运算
        System.out.print(ans+" ");
        ans = z.divide(y); //除运算
        System.out.print(ans+" ");
        ans = x.mod(z); //模运算
        System.out.print(ans+" ");
        if (ans.compareTo(x) == 0) System.out.println("1");
    }
}

运算结果:654 3 231 1

主要有以下方法可以使用:
BigInteger add(BigInteger other)
BigInteger subtract(BigInteger other)
BigInteger multiply(BigInteger other)
BigInteger divide(BigInteger other)
BigInteger mod(BigInteger other)
int compareTo(BigInteger other)
static BigInteger valueOf(long x)

Java Hashtable多线程操作遍历问题

Java多线程顺序执行

Java多线程问题之同步器CyclicBarrier

Java多线程之wait()和notify()

Java多线程之synchronized

Java多线程之并发锁

Java多线程之ThreadPool

Java多线程之ThreadLocal

相关内容

    暂无相关文章