Java.math.BigInteger 类

简介

java.math.BigInteger 类提供了与 Java 的所有原始整数运算符和 java.lang.Math 中的所有相关方法类似的操作。

它还提供模算术、GCD 计算、素数测试、素数生成、位操作和一些其他杂项操作的操作。 所有操作的行为都好像 BigIntegers 以二进制补码表示法表示。

算术运算和按位逻辑运算的语义分别类似于 Java 的整数算术运算符和 Java 的按位整数运算符。 移位运算的语义扩展了 Java 移位运算符的语义,以允许负移位距离。

比较操作执行有符号整数比较。 提供模块化算术运算来计算残数、执行幂运算和计算乘法逆运算。 位运算对其操作数的二进制补码表示的单个位进行操作。

当为任何输入参数传递空对象引用时,此类中的所有方法和构造函数都会抛出 NullPointerException。


类声明

以下是 java.math.BigInteger 类的声明 −

public class BigInteger
   extends Number
      implements Comparable<BigInteger>

字段

以下是 java.math.BigInteger 类的字段 −

  • static BigInteger ONE − BigInteger 常数一。

  • static BigInteger TEN − BigInteger 常数十。

  • static BigInteger ZERO − BigInteger 常数为零。


类构造函数

序号 构造函数 & 描述
1

BigInteger(byte[] val)

此构造函数用于将包含 BigInteger 的二进制补码表示的字节数组转换为 BigInteger。

2

BigInteger(int signum, byte[] magnitude)

此构造函数用于将 BigInteger 的符号大小表示转换为 BigInteger。

3

BigInteger(int bitLength, int certainty, Random rnd)

此构造函数用于构造一个随机生成的正 BigInteger,它可能是素数,具有指定的 bitLength。

4

BigInteger(int numBits, Random rnd)

此构造函数用于构造随机生成的 BigInteger,均匀分布在 0 到 (2numBits - 1) 的范围内,包括 0 到 (2numBits - 1)。

5

BigInteger(String val)

此构造函数用于将 BigInteger 的十进制字符串表示形式转换为 BigInteger。

6

BigInteger(String val, int radix)

此构造函数用于将指定基数中 BigInteger 的 String 表示形式转换为 BigInteger。


类方法

序号 方法 & 描述
1 BigInteger abs()

此方法返回一个 BigInteger,其值为该 BigInteger 的绝对值。

2 BigInteger add(BigInteger val)

此方法返回一个值为 (this + val) 的 BigInteger。

3 BigInteger and(BigInteger val)

此方法返回一个 BigInteger,其值为 (this & val)。

4 BigInteger andNot(BigInteger val)

此方法返回一个 BigInteger,其值为 (this & ~val)。

5 int bitCount()

此方法返回此 BigInteger 的二进制补码表示中与其符号位不同的位数。

6 int bitLength()

此方法返回此 BigInteger 的最小二进制补码表示中的位数,不包括符号位。

7 BigInteger clearBit(int n)

此方法返回一个 BigInteger,其值与指定位清零后的此 BigInteger 等价。

8 int compareTo(BigInteger val)

此方法将此 BigInteger 与指定的 BigInteger 进行比较。

9 BigInteger divide(BigInteger val)

此方法返回一个 BigInteger,其值为 (this / val)。

10 BigInteger[ ] divideAndRemainder(BigInteger val)

此方法返回一个包含 (this / val) 后跟 (this % val) 的两个 BigInteger 的数组。

11 double doubleValue()

此方法将此 BigInteger 转换为 double。

12 boolean equals(Object x)

此方法将此 BigInteger 与指定的 Object 进行比较是否相等。

13 BigInteger flipBit(int n)

此方法返回一个 BigInteger,其值与指定位翻转后的此 BigInteger 等价。

14 float floatValue()

此方法将此 BigInteger 转换为浮点数。

15 BigInteger gcd(BigInteger val)

此方法返回一个 BigInteger,其值为 abs(this) 和 abs(val) 的最大公约数。

16 int getLowestSetBit()

此方法返回此 BigInteger 中最右侧(最低位)一位的索引(最右侧一位右侧的零位数)。

17 int hashCode()

此方法返回此 BigInteger 的哈希码。

18 int intValue()

此方法将此 BigInteger 转换为 int。

19 boolean isProbablePrime(int certainty)

如果这个 BigInteger 可能是素数,则此方法返回 true,如果它肯定是合数,则返回 false。

20 long longValue()

此方法将此 BigInteger 转换为 long。

21 BigInteger max(BigInteger val)

此方法返回此 BigInteger 和 val 的最大值。

22 BigInteger min(BigInteger val)

此方法返回此 BigInteger 和 val 的最小值。

23 BigInteger mod(BigInteger m)

此方法返回一个 BigInteger,其值为 (this mod m)。

24 BigInteger modInverse(BigInteger m)

此方法返回一个 BigInteger,其值为 (this-1 mod m)。

25 BigInteger modPow(BigInteger exponent, BigInteger m)

此方法返回一个 BigInteger,其值为 (thisexponent mod m)。

26 BigInteger multiply(BigInteger val)

此方法返回一个值为 (this * val) 的 BigInteger。

27 BigInteger negate()

此方法返回一个 BigInteger,其值为 (-this)。

28 BigInteger nextProbablePrime()

此方法返回大于此 BigInteger 的第一个整数,该整数可能是素数。

29 BigInteger not()

此方法返回一个 BigInteger,其值为 (~this)。

30 BigInteger or(BigInteger val)

此方法返回一个 BigInteger,其值为 (this | val)。

31 BigInteger pow(int exponent)

此方法返回一个 BigInteger,其值为 (thisexponent)。

32 static BigInteger probablePrime(int bitLength, Random rnd)

此方法返回一个可能是素数的正 BigInteger,具有指定的 bitLength。

33 BigInteger remainder(BigInteger val)

此方法返回一个 BigInteger,其值为 (this % val)。

34 BigInteger setBit(int n)

此方法返回一个 BigInteger,其值与设置了指定位的此 BigInteger 等价。

35 BigInteger shiftLeft(int n)

此方法返回一个 BigInteger,其值为 (this << n)。

36 BigInteger shiftRight(int n)

此方法返回一个 BigInteger,其值为 (this >> n)。

37 int signum()

此方法返回此 BigInteger 的符号函数。

38 BigInteger subtract(BigInteger val)

此方法返回一个 BigInteger,其值为 (this - val)。

39 boolean testBit(int n)

当且仅当设置了指定位时,此方法才返回 true。

40 byte[ ] toByteArray()

此方法返回一个字节数组,其中包含此 BigInteger 的二进制补码表示。

41 String toString()

此方法返回此 BigInteger 的十进制字符串表示形式。

42 String toString(int radix)

此方法以给定基数返回此 BigInteger 的字符串表示形式。

43 static BigInteger valueOf(long val)

此方法返回一个 BigInteger,其值等于指定 long 的值。

44 BigInteger xor(BigInteger val)

此方法返回一个值为 (this ^ val) 的 BigInteger。