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。 |