biginteger用法

  • Post category:other

BigInteger用法攻略

BigInteger是Java中的一个类,用于处理大整数运算。它可以处理超过long类型范围的整数,支持加、减、乘、除、取模等运算。本攻略将介绍BigInteger的用法,包括创建、运算、转换等。

1. 创建BigInteger对象

可以使用以下方法来创建BigInteger对象:

1.1 使用字符串

BigInteger bigInteger = new BigInteger("12345678901234567890");

在上述代码中,我们使用字符串来创建一个BigInteger对象,字符串中包含了一个超过long类型围的整数。

1.2 使用long类型

BigInteger bigInteger = BigInteger.valueOf(1234567890L);

在上述代码中,我们使用long类型来创建一个BigInteger对象,long类型的范围是-2^63到2^63-1,可以处理大部分整数运算。

2. 运算

BigInteger支持加、减、乘、除、取模等运算。以下是一些示例:

2.1 加法

BigInteger a = new BigInteger("12345678901234567890");
BigInteger b = new BigInteger("98732109876543210");
BigInteger c = a.add(b);
System.out.println(c); // 输出:111111111011111111100

在上述代码中,我们创建了两个BigInteger对象a和b,然后使用add方法进行加法运算,将结果保存在c中。

2.2 减法

BigInteger a = new BigInteger("98765432109876543210");
BigInteger b = new BigInteger("12345678901234567890");
BigInteger c = a.subtract(b);
System.out.println(c); // 输出:86419753208641975320

在上述代码中,我们创建了两个BigInteger对象a和b,然后使用subtract方法进行减法运算,将结果保存在c中。

2.3 乘法

BigInteger a = new BigInteger("12345678901234567890");
BigInteger b = new BigInteger("98765432109876543210");
BigInteger c = a.multiply(b);
System.out.println(c); // 输出:1219326311370217954017857142857142850

在上述代码中,我们创建了两个BigInteger对象a和b,然后使用multiply方法进行乘法运算,将结果保存在c中。

2.4 除法

BigInteger a = new BigInteger("98765432109876543210");
BigInteger b = new BigInteger("12345678901234567890");
BigInteger c = a.divide(b);
System.out.println(c); // 输出:7

在上述代码中,我们创建了两个BigInteger对象a和b,然后使用divide方法进行除法运算,将结果保存在c中。

2.5 取模

BigInteger a = new BigInteger("98765432109876543210");
BigInteger b = new BigInteger("12345678901234567890");
BigInteger c = a.mod(b);
System.out.println(c); // 输出:8395222675089479370

在上述代码中,我们创建了两个BigInteger对象a和b,然后使用mod方法进行取模运算,将结果保存在c中。

3. 转换

BigInteger支持将对象转换为其他类型,包括long、int、double等。以下是一些示例:

3.1 转换为long类型

BigInteger a = new BigInteger("12345678901234567890");
long b = a.longValue();
System.out.println(b); // 输出:12345678901234567890

在上述代码中,我们创建了一个BigInteger对象a,然后使用longValue方法将其转换为long类型。

3.2 转换为int类型

BigInteger a = new BigInteger("1234567890");
int b = a.intValue();
System.out.println(b); // 输出:1234567890

在上述代码中,我们创建了一个BigInteger对象a,然后使用intValue方法将其转换为int类型。

3.3 转换为double类型

BigInteger a = new BigInteger("12345678901234567890");
double b = a.doubleValue();
System.out.println(b); // 输出:1.2345678901234568E19

在上述代码中,我们创建了一个BigInteger对象a,然后使用doubleValue方法将其转换为double类型。

4. 总结

本攻略介绍了BigInteger的用法,包括创建对象、运算、转换等。我们提供了多个示例,演示了BigInteger的加、减、乘、除、取模等运算,以及将对象转换为long、int、double等类型的方法。在实际应用中,可以根据具体需求选择合适的方法。