当前位置: 首页 > 图灵资讯 > 技术篇> Java中 BigInt 使用

Java中 BigInt 使用

来源:图灵教育
时间:2023-07-04 10:03:45

Java中 BigInt 使用简介

在Java中,如果需要处理大整数操作,可以使用Java.math包中的BigInt类。 Bigint类为任何精度整数提供了支持,可以处理比long或double类型更大的整数。本文将详细介绍如何使用Bigint类及其方法。

创建BigInt对象

要使用BigInt类,首先需要创建BigInt对象。BigInt对象可以通过以下两种方式创建:

用字符串创建BigInt对象

一个大整数可以用字符串来表示,并将其传递给BigInt。

String str = "12345678901234567890";BigInt bigInt = new BigInt(str);

利用long类型创建BigInt对象

BigInt对象可以用long类型的值来创建。

long value = 1234567890123456789L;BigInt bigInt = BigInt.valueOf(value);

请注意,如果要创建负数BigInt对象,可以在字符串或long值前添加负号“-”。

BigInt常用方法加法

BigInt类提供add()执行加法操作的方法。add()方法以另一个BigInt对象为参数,返回一个新的BigInt对象,包括两个BigInt对象的总和。

BigInt num1 = new BigInt("12345678901234567890");BigInt num2 = new BigInt("98765432109876543210");BigInt sum = num1.add(num2);System.out.println(sum.toString()); // 111111111111111111100

减法

bigint类提供了subtract()执行减法操作的方法。subtract()方法以另一个BigInt对象为参数,并返回一个新的BigInt对象,包括两个BigInt对象之间的差异。

BigInt num1 = new BigInt("98765432109876543210");BigInt num2 = new BigInt("12345678901234567890");BigInt diff = num1.subtract(num2);System.out.println(diff.toString()); // 86419753208641975320

乘法

bigint类提供了multiply()执行乘法操作的方法。multiply()方法以另一个BigInt对象为参数,并返回一个包含两个BigInt对象积累的新BigInt对象。

BigInt num1 = new BigInt("12345678901234567890");BigInt num2 = new BigInt("98765432109876543210");BigInt product = num1.multiply(num2);System.out.println(product.toString()); // 12193263113702179583898352625848744800

除法

bigint类提供pide()执行除法操作的方法。pide()方法以另一个BigInt对象为参数,返回一个包含两个BigInt对象的新BigInt对象。

BigInt num1 = new BigInt("12193263113702179583898352625848744800");BigInt num2 = new BigInt("98765432109876543210");BigInt quotient = num1.pide(num2);System.out.println(quotient.toString()); // 123456789012345678

取模

BigInt类提供了一种mod()方法来执行取模操作。mod()方法以另一个BigInt对象为参数,并返回一个新的BigInt对象,其中包含两个BigInt对象的余数。

BigInt num1 = new BigInt("12193263113702179583898352625848744800");BigInt num2 = new BigInt("98765432109876543210");BigInt remainder = num1.mod(num2);System.out.println(remainder.toString()); // 86419753208641975320

比较

Bigint提供了一种比较两个Bigint对象大小的compareto()方法。如果第一个Bigint对象小于第二个Bigint对象,则返回负整数;如果第一个Bigint对象大于第二个Bigint对象,则返回正整数;如果两个Bigint对象相等,则返回0。

BigInt num1 = new BigInt("12345678901234567890");BigInt num2 = new BigInt("98765432109876543210");int result = num1.compareTo(num2);if (result < 0) {    System.out.println("num1 is less than num2");} else if (result > 0) {    System.out.println("num1 is greater than num2");} else {    System.out.println("num1 is equal to num2");}

转换为字符串

BigInt对象可以通过tostring()的方法转换为字符串。

BigInt num = new BigInt("12345678901234567890");String str = num.toString();System.out.println(str); // 12345678901234567890

总结

在Java中使用Bigint类可以很容易地处理大整数操作。本文介绍了如何创建Bigint对象和常用的方法,包括加法、减法、乘法、除法、取模和比较。Bigint类可以处理比long或double类型更大的整数,以满足大整数操作的需要。