大整数 (Big Integer)

2025年3月20日 | 阅读 4 分钟

BigInteger 类扩展了 Number 类并实现了 Comparable 接口。它提供了 Java 所有基本整数运算符的模拟以及 java.lang.Math 包中的所有方法。

它包含许多用于模运算、GCD 等的方法,如下所述。

abs()它返回一个 BigInteger,其值为此 BigInteger 的绝对值。
add()此方法通过简单地计算“this + val”值来返回一个 BigInteger。
and()此方法通过计算“this & val”值来返回一个 BigInteger。
andNot()此方法通过计算“this & ~val”值来返回一个 BigInteger。
bitCount()此方法返回此 BigInteger 的二进制补码表示形式中与符号位不同的位数。
bitLength()此方法返回此符号位最小二进制补码表示形式中不包括符号位的位数。
clearBit()此方法返回一个 BigInteger,其值等于此 BigInteger,其中指定的位被清除。
compareTo()此方法将此 BigInteger 与指定的 BigInteger 进行比较。
divide()此方法通过计算“this /~val”值来返回一个 BigInteger。
divideAndRemainder()此方法通过计算“this & ~val”值后跟“this%value”来返回一个 BigInteger。
doubleValue()此方法将此 BigInteger 转换为 double。
equals()此方法将此 BigInteger 与给定的 Object 进行相等性比较。
flipBit()此方法返回一个 BigInteger,其值等于此 BigInteger,其中指定的位被翻转。
floatValue()此方法将此 BigInteger 转换为 float。
gcd()此方法返回一个 BigInteger,其值为 abs(this) 和 abs(val) 之间的最大公约数。
getLowestSetBit()此方法返回此 BigInteger 中最右边的 1 位(最低有效位)的索引(最右边的 1 位右侧的零位数)。
hashCode()此方法返回此 BigInteger 的哈希码。
intValue()此方法将此 BigInteger 转换为 int。
isProbablePrime()仅当此 BigInteger 是素数时,此方法才返回布尔值“true”,否则对于合数值返回“false”。
longValue()此方法将此 BigInteger 转换为 long。
max()此方法返回此 BigInteger 和 val 之间的最大值。
min()此方法返回此 BigInteger 和 val 之间的最小值。
mod()此方法返回此 mod m 的 BigInteger 值。
modInverse()此方法返回一个 BigInteger,其值为“this inverse mod m”。
modPow()此方法返回一个 BigInteger,其值为“this exponent mod m”。
multiply()此方法通过计算“this * val”值来返回一个 BigInteger。
negate()此方法返回一个 BigInteger,其值为“-this”。
nextProbablePrime()此方法返回大于此 BigInteger 的下一个素数。
not()此方法返回一个 BigInteger,其值为“~this”。
or()此方法返回一个 BigInteger,其值为“this | val”。
pow()此方法返回一个 BigInteger,其值为“thisexponent”。
probablePrime()此方法返回一个具有指定位长的正素数 BigInteger。
remainder()此方法通过计算“this % val”值来返回一个 BigInteger。
setBit()此方法返回一个 BigInteger,其值等于此 BigInteger,其中指定的位被设置为 1。
shiftLeft()此方法返回一个 BigInteger,其值为“this << val”。
shiftRight()此方法返回一个 BigInteger,其值为“this >> val”。
signum()此方法返回此 BigInteger 的符号函数。
subtract()此方法返回一个 BigInteger,其值为“this - val”。
testbit()仅当指定的位被设置时,此方法才返回布尔值“true”。
toByteArray()此方法返回一个字节数组,其中包含此 BigInteger 的二进制补码表示。
toString()此方法返回此 BigInteger 的十进制字符串表示。
valueOf()此方法返回一个 BigInteger,其值等于指定 long 的值。
xor()此方法通过计算“this ^ val”值来返回一个 BigInteger。

示例 1

输出

Factorial of 4 : 24
IsProbablePrime method will return : true
Prime Number next to 197 : 199
Min value : 24
Maximum value : 197

示例 2

输出

Signum value for 171 : 1
171-17 : 154
171 / 17 :     Quotient : 10       Remaider : 17
 ShiftLeft value : 272
 
下一主题Java BigInteger