📅  最后修改于: 2023-12-03 15:16:20.702000             🧑  作者: Mango
Java中的BigInteger类是用于表示任意精度整数的类,它允许我们处理比long类型更大的数。BigInteger类位于java.math包中,我们需要导入该包才能使用该类。
我们可以使用如下方式创建一个BigInteger对象:
BigInteger num1 = new BigInteger("123456789012345678901234567890");
BigInteger num2 = BigInteger.valueOf(123456789);
上述代码中,第一行通过使用字符串来创建一个BigInteger对象,而第二行使用long类型的值来创建一个BigInteger对象。另外,BigInteger类还提供了一些常量,如:
BigInteger ZERO = BigInteger.ZERO; // 表示值为0的BigInteger对象
BigInteger ONE = BigInteger.ONE; // 表示值为1的BigInteger对象
BigInteger TEN = BigInteger.TEN; // 表示值为10的BigInteger对象
BigInteger类提供了许多方法,我们来一一介绍:
BigInteger num1 = new BigInteger("123456789012345678901234567890");
BigInteger num2 = BigInteger.valueOf(123456789);
BigInteger sum = num1.add(num2); // 求和
BigInteger diff = num1.subtract(num2); // 求差
BigInteger num1 = new BigInteger("123456789012345678901234567890");
BigInteger num2 = BigInteger.valueOf(123456789);
BigInteger product = num1.multiply(num2); // 求积
BigInteger quotient = num1.divide(num2); // 求商
BigInteger num1 = new BigInteger("123456789012345678901234567890");
BigInteger num2 = BigInteger.valueOf(123456789);
BigInteger remainder = num1.mod(num2); // 求余数
BigInteger num1 = new BigInteger("123456789012345678901234567890");
BigInteger num2 = BigInteger.valueOf(123456789);
int result = num1.compareTo(num2); // num1大于num2则为1,等于则为0,小于则为-1
BigInteger num1 = new BigInteger("123456789012345678901234567890");
BigInteger num2 = new BigInteger("123456789012345678901234567890");
boolean isEqual = num1.equals(num2); // 判断两个BigInteger对象是否相等
int hash1 = num1.hashCode(); // 获取BigInteger对象的哈希码
int hash2 = num2.hashCode();
BigInteger num1 = new BigInteger("123456789012345678901234567890");
String str = num1.toString(); // 将BigInteger对象转换为字符串
尽管BigInteger类可以处理更大的数,但是它在处理大数运算时的性能问题不容忽视。因此,在实际应用中,我们需要根据具体情况进行权衡和选择。