在 Java 中,如果需要表示超过 long 类型范围的数据,可以使用 BigInteger 类。BigInteger 是 Java 提供的一个用于处理任意精度整数的类,它可以表示非常大或非常小的整数。
BigInteger 类位于 java.math 包中,可以通过以下方式进行实例化:
代码语言:javascript复制import java.math.BigInteger;
BigInteger bigInteger = new BigInteger("12345678901234567890");
上述代码创建了一个 BigInteger 对象,其值为"12345678901234567890"。BigInteger 类支持各种算术运算和比较操作,例如加法、减法、乘法、除法等。
下面是一些常用的 BigInteger 方法示例:
代码语言:javascript复制BigInteger a = new BigInteger("1234567890");
BigInteger b = new BigInteger("9876543210");
// 加法
BigInteger sum = a.add(b);
System.out.println(sum); // 输出:11111111100
// 减法
BigInteger difference = a.subtract(b);
System.out.println(difference); // 输出:-8641975320
// 乘法
BigInteger product = a.multiply(b);
System.out.println(product); // 输出:12193263111263526900
// 除法
BigInteger quotient = a.divide(b);
System.out.println(quotient); // 输出:0
// 求余
BigInteger remainder = a.remainder(b);
System.out.println(remainder); // 输出:1234567890
// 比较大小
int compareResult = a.compareTo(b);
System.out.println(compareResult); // 输出:-1(a < b)
通过使用 BigInteger 类,我们可以方便地处理超过 long 类型范围的数据,并进行各种算术运算和比较操作。但需要注意的是,由于 BigInteger 类使用了更多的内存和计算资源,因此在处理大量数据时可能会影响性能。
参考资料
[1]
首发博客地址: https://blog.zysicyj.top/
[2]
面试题手册: https://store.amazingmemo.com/chapterDetail/1685324709017001
[3]
系列文章地址: https://blog.zysicyj.top/categories/技术文章/后端技术/系列文章/面试题精讲/