Java.math.BigInteger 类


介绍

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

它还提供模算术、GCD 计算、素数测试、素数生成、位操作和一些其他杂项操作的操作。所有操作的Behave就好像 BigIntegers 用补码表示法表示一样。

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

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

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

类声明

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

public class BigInteger
   extends Number
      implements Comparable<BigInteger>

场地

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

  • static BigInteger ONE - BigInteger 常量一。

  • static BigInteger TEN - BigInteger 常量 10。

  • static BigInteger ZERO - BigInteger 常量零。

类构造函数

先生。 构造函数及描述
1

BigInteger(字节[] val)

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

2

BigInteger(int 符号, byte[] 大小)

此构造函数用于将 BigInteger 的符号数值表示形式转换为 BigInteger。

3

BigInteger(int bitLength, int 确定性, Random rnd)

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

4

BigInteger(int numBits, 随机 rnd)

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

5

大整数(字符串值)

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

6

BigInteger(字符串 val, int 基数)

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

类方法

先生。 方法及说明
1 大整数abs()

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

2 BigInteger add(BigInteger val)

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

3 BigInteger and(BigInteger val)

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

4 BigInteger andNot(BigInteger val)

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

5 int 位计数()

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

6 int 位长度()

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

7 BigInteger 清除位(int n)

此方法返回一个 BigInteger,其值等于此 BigInteger 且指定位被清零。

8 int 比较(BigInteger val)

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

9 BigInteger 除(BigInteger val)

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

10 BigInteger[ ] divergeAndRemainder(BigInteger val)

此方法返回一个由两个 BigIntegers 组成的数组,其中包含 (this / val) 后跟 (this % val)。

11 双倍双值()

此方法将此 BigInteger 转换为 double。

12 布尔值等于(对象x)

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

13 BigInteger FlipBit(int n)

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

14 浮动浮动值()

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

15 BigInteger gcd(BigInteger val)

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

16 int getLowestSetBit()

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

17 号 int 哈希码()

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

18 int intValue()

此方法将此 BigInteger 转换为 int。

19 boolean isProbablePrime(int 确定性)

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

20 长长值()

此方法将此 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 指数, BigInteger m)

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

26 BigInteger 乘法(BigInteger val)

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

27 大整数求反()

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

28 BigInteger nextProbablePrime()

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

29 大整数 not()

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

30 BigInteger 或 (BigInteger val)

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

31 BigInteger pow(int 指数)

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

32 静态 BigInteger probablePrime(int bitLength, Random rnd)

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

33 BigInteger 余数(BigInteger val)

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

34 BigInteger setBit(int n)

此方法返回一个 BigInteger,其值等于具有指定位设置的此 BigInteger。

35 大整数左移(int n)

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

36 大整数右移(int n)

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

37 int 符号()

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

38 BigInteger 减法(BigInteger val)

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

39 布尔测试位(int n)

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

40 byte[ ] toByteArray()

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

41 字符串转字符串()

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

42 字符串 toString(int 基数)

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

43 静态 BigInteger valueOf(long val)

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

44 BigInteger xor(BigInteger val)

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