BigInteger 是 Java 提供的一个类,用于表示任意精度的整数。当普通的 int 或 long 类型无法满足精度要求时,比如需要处理非常大的整数或者进行大数的精确计算时,就可以使用 BigInteger。
BigInteger 提供了许多用于执行大整数运算的方法,比如加法、减法、乘法、除法、模运算、位运算等。同时,它还提供了用于比较两个大整数大小的方法,以及将大整数转换为字符串或将字符串转换为大整数的方法。
下面是一些使用 BigInteger 的基本示例:
import java.math.BigInteger;
public class BigIntegerExample {
public static void main(String[] args) {
// 创建 BigInteger 实例
BigInteger bigInteger1 = new BigInteger("12345678901234567890");
BigInteger bigInteger2 = BigInteger.valueOf(9876543210987654321L);
// 加法
BigInteger sum = bigInteger1.add(bigInteger2);
System.out.println("Sum: " + sum);
// 减法
BigInteger difference = bigInteger1.subtract(bigInteger2);
System.out.println("Difference: " + difference);
// 乘法
BigInteger product = bigInteger1.multiply(bigInteger2);
System.out.println("Product: " + product);
// 除法
BigInteger quotient = bigInteger1.divide(bigInteger2);
System.out.println("Quotient: " + quotient);
// 模运算(取余)
BigInteger remainder = bigInteger1.mod(bigInteger2);
System.out.println("Remainder: " + remainder);
// 比较
int comparison = bigInteger1.compareTo(bigInteger2);
if (comparison < 0) {
System.out.println("bigInteger1 is less than bigInteger2");
} else if (comparison > 0) {
System.out.println("bigInteger1 is greater than bigInteger2");
} else {
System.out.println("bigInteger1 is equal to bigInteger2");
}
// 转换为字符串
String bigIntegerAsString = bigInteger1.toString();
System.out.println("BigInteger as String: " + bigIntegerAsString);
// 从字符串转换为 BigInteger
BigInteger bigIntegerFromString = new BigInteger(bigIntegerAsString);
System.out.println("BigInteger from String: " + bigIntegerFromString);
}
}