📜  Java.math.BigInteger类(1)

📅  最后修改于: 2023-12-03 14:42:21.294000             🧑  作者: Mango

Java.math.BigInteger类

简介

java.math.BigInteger类是Java的一个内置类,它提供了对任意大小整数值的操作和运算。该类可以处理大于Java长整型的整数值,即使这些值无限大。

用法
创建BigInteger实例

创建BigInteger实例有多种方式:

  1. 通过传递一个字符串或一个字符数组来创建一个BigInteger实例,如下所示:

    BigInteger bigInteger = new BigInteger("1234567890");
    BigInteger anotherBigInteger = new BigInteger(new char[]{'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'});
    
  2. 通过传递一个long类型的值来创建一个BigInteger实例,如下所示:

    BigInteger bigInteger = BigInteger.valueOf(1234567890L);
    
常用方法

加、减、乘、除法

BigInteger类提供了一系列运算方法,例如加、减、乘和除等。这些方法都是用BigInteger对象调用的,例如:

BigInteger a = new BigInteger("1234567890");
BigInteger b = BigInteger.valueOf(987654321);

// 加法
a = a.add(b);

// 减法
a = a.subtract(b);

// 乘法
a = a.multiply(b);

// 除法
a = a.divide(b);

取模和幂运算

除了基本的加、减、乘和除法之外,BigInteger类还提供了其他常用的运算方法,例如取模和幂运算等。例如:

BigInteger a = new BigInteger("1234567890");
BigInteger b = BigInteger.valueOf(987654321);

// 取模
a = a.mod(b);

// 幂运算
a = a.pow(3); // 计算 a 的 3 次幂

比较

BigInteger类还提供了进行比较的方法,包括compareTo()equals()intValue()等:

BigInteger a = new BigInteger("1234567890");
BigInteger b = new BigInteger("2345678901");

// 比较
if (a.compareTo(b) < 0) {
    // a < b
} else if (a.compareTo(b) > 0) {
    // a > b
} else {
    // a == b
}

// 相等性
if (a.equals(b)) {
    // a == b
}

// 转换成基本类型
int i = a.intValue();
总结

java.math.BigInteger类提供了对任意大小整数值的操作和运算。该类可以处理大于Java长整型的整数值,即使这些值无限大。使用它可以轻松地进行各种整数运算,包括加、减、乘、除、取模和幂运算等。