| java.lang.Object | ||
| ↳ | java.lang.Number | |
| ↳ | java.math.BigInteger | |
Class which represents immutable arbitrary precision integer numbers. This class provides methods for arithmetic operations and methods for the comparison of two instances.
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| BigInteger | ONE | The BigInteger constatn 1. |
|||||||||
| BigInteger | TEN | The BigInteger constant 10. |
|||||||||
| BigInteger | ZERO | The BigInteger constant 0. |
|||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Constructs a random non-negative
BigInteger instance in the range
[0, 2^(numBits)-1]. | |||||||||||
Constructs a random positive
BigInteger instance in the range [0,
2^(bitLength)-1] which is probably prime. | |||||||||||
Constructs a new
BigInteger instance from the string
representation. | |||||||||||
Constructs a new
BigInteger instance from the string
representation. | |||||||||||
Constructs a new
BigInteger instance with the given sign and the
given magnitude. | |||||||||||
Constructs a new
BigInteger from the given two's complement
representation. | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
Returns a (new)
BigInteger whose value is the absolute value of
this. | |||||||||||
Returns a new
BigInteger whose value is this + val. | |||||||||||
Returns a new
BigInteger whose value is this & val. | |||||||||||
Returns a new
BigInteger whose value is this & ~val. | |||||||||||
Returns the number of bits in the binary representation of
this
wich differ from the sign bit. | |||||||||||
Returns the number of bits of the binary representation of
this
without the sign bit. | |||||||||||
Returns a new
BigInteger which has the same binary representation
as this but with the bit at position n cleared. | |||||||||||
Compares this
BigInteger with val. | |||||||||||
Returns a new
BigInteger whose value is this / divisor. | |||||||||||
Returns a
BigInteger array which contains this / divisor
at index 0 and this % divisor at index 1. | |||||||||||
Returns this
BigInteger as an double value. | |||||||||||
Returns
true if x is a BigInteger instance and if this
instance is equal to this BigInteger. | |||||||||||
Returns a new
BigInteger which has the same binary representation
as this but with the bit at position n flipped. | |||||||||||
Returns this
BigInteger as an float value. | |||||||||||
Returns a new
BigInteger whose value is greatest common divisor
of this and val. | |||||||||||
Returns the position of the lowest set bit in the two's complement
representation of this
BigInteger. | |||||||||||
Returns a hash code for this
BigInteger. | |||||||||||
Returns this
BigInteger as an int value. | |||||||||||
Tests whether this
BigInteger is probably prime. | |||||||||||
Returns this
BigInteger as an long value. | |||||||||||
Returns the maximum of this
BigInteger and val. | |||||||||||
Returns the minimum of this
BigInteger and val. | |||||||||||
Returns a new
BigInteger whose value is this mod m. | |||||||||||
Returns a new
BigInteger whose value is 1/this mod m. | |||||||||||
Returns a new
BigInteger whose value is
this^exponent mod m. | |||||||||||
Returns a new
BigInteger whose value is this * val. | |||||||||||
Returns a new
BigInteger whose value is the -this. | |||||||||||
Returns the smallest integer x >
this which is probably prime as
a BigInteger instance. | |||||||||||
Returns a new
BigInteger whose value is ~this. | |||||||||||
Returns a new
BigInteger whose value is this | val. | |||||||||||
Returns a new
BigInteger whose value is this ^ exp. | |||||||||||
Returns a random positive
BigInteger instance in the range [0,
2^(bitLength)-1] which is probably prime. | |||||||||||
Returns a new
BigInteger whose value is this % divisor. | |||||||||||
Returns a new
BigInteger which has the same binary representation
as this but with the bit at position n set. | |||||||||||
Returns a new
BigInteger whose value is this << n. | |||||||||||
Returns a new
BigInteger whose value is this >> n. | |||||||||||
Returns the sign of this
BigInteger. | |||||||||||
Returns a new
BigInteger whose value is this - val. | |||||||||||
Tests whether the bit at position n in
this is set. | |||||||||||
Returns the two's complement representation of this BigInteger in a byte
array.
| |||||||||||
Returns a string representation of this
BigInteger in decimal
form. | |||||||||||
Returns a string containing a string representation of this
BigInteger with base radix. | |||||||||||
Creates a new
BigInteger whose value is equal to the specified
long argument. | |||||||||||
Returns a new
BigInteger whose value is this ^ val. | |||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class java.lang.Number
| |||||||||||
From class java.lang.Object
| |||||||||||
From interface java.lang.Comparable
| |||||||||||
The BigInteger constatn 1.
The BigInteger constant 10.
The BigInteger constant 0.
Constructs a random non-negative BigInteger instance in the range
[0, 2^(numBits)-1].
| numBits | maximum lenght of the new BigInteger in bits. |
|---|---|
| rnd | random generator used to generate the new BigInteger. |
| IllegalArgumentException | if numBits < 0 |
|---|
Constructs a random positive BigInteger instance in the range [0,
2^(bitLength)-1] which is probably prime. The probability that the
returned BigInteger is prime is beyond (1-1/2^certainty).
| bitLength | lenght of the new BigInteger in bits. |
|---|---|
| certainty | tolerated primality uncertainty. |
| rnd | random generator used to generate the new BigInteger. |
| IllegalArgumentException | if bitLength < 2 |
|---|
Constructs a new BigInteger instance from the string
representation. The string representation consists of an optional minus
sign followed by a non-empty sequence of decimal digits.
| val | string representation of the new BigInteger. |
|---|
| NullPointerException | if val == null. |
|---|---|
| NumberFormatException | if val is not a valid representation of a BigInteger.
|
Constructs a new BigInteger instance from the string
representation. The string representation consists of an optional minus
sign followed by a non-empty sequence of digits in the specified radix.
For the conversion the method Character.digit(char, radix) is
used.
| val | string representation of the new BigInteger. |
|---|---|
| radix | the base to be used for the conversion. |
| NullPointerException | if val == null |
|---|---|
| NumberFormatException | if val is not a valid representation of a BigInteger
or if radix < Character.MIN_RADIX or radix >
Character.MAX_RADIX.
|
Constructs a new BigInteger instance with the given sign and the
given magnitude. The sign is given as an integer (-1 for negative, 0 for
zero, 1 for positive). The magnitude is specified as a byte array. The
most significant byte is the entry at index 0.
| signum | sign of the new BigInteger (-1 for negative, 0 for
zero, 1 for positive). |
|---|---|
| magnitude | magnitude of the new BigInteger with the most
significant byte first. |
| NullPointerException | if magnitude == null |
|---|---|
| NumberFormatException | if the sign is not one of -1, 0, 1 or if the sign is zero and the magnitute contains non-zero entries. |
Constructs a new BigInteger from the given two's complement
representation. The most significant byte is the entry at index 0. The
most significant bit of this entry determines the sign of the new
BigInteger instance. The given array must not be empty.
| val | two's complement representation of the new BigInteger. |
|---|
| NullPointerException | if val == null |
|---|---|
| NumberFormatException | if the lenght of val == 0. |
Returns a (new) BigInteger whose value is the absolute value of
this.
abs(this)
Returns a new BigInteger whose value is this + val.
| val | value to be added to this. |
|---|
this + val.| NullPointerException | if val == null |
|---|
Returns a new BigInteger whose value is this & val.
| val | value to be and'ed with this. |
|---|
this & val.| NullPointerException | if val == null |
|---|
Returns a new BigInteger whose value is this & ~val.
Evaluating x.andNot(val) returns the same result as
x.and(val.not()).
| val | value to be not'ed and then and'ed with this. |
|---|
this & ~val.| NullPointerException | if val == null |
|---|
Returns the number of bits in the binary representation of this
wich differ from the sign bit. If this is positive the result is
equivalent to the number of bits set in the binary representation of
this. If this is netative the result is equivalent to
the number of bits set in the binary representation of -this-1.
this wich
differ from the sign bit.
Returns the number of bits of the binary representation of this
without the sign bit. For positive values this is equivalent to the
number of bits, and for negative values this is equivalent to the number
of bits used to represent -value-1.
mc: In other words: the number a can be coded in
a.bitLength() + 1 bits two's complement.
E.g. for a.bitLength() == 31, an int will hold a correctly and
for a.bitLength() == 32 an int will NOT hold a correctly.
this
without the sign bit.
Returns a new BigInteger which has the same binary representation
as this but with the bit at position n cleared. The result is
equivalent to this & ~(2^n).
| n | position where the bit in this has to be cleared. |
|---|
this & ~(2^n).| ArithmeticException | if n < 0 |
|---|
Compares this BigInteger with val. Returns one of the
three values 1, 0, or -1.
| val | value to be compared with this. |
|---|
| NullPointerException | if val == null |
|---|
Returns a new BigInteger whose value is this / divisor.
| divisor | value by which this is divided. |
|---|
this / divisor.| NullPointerException | if divisor == null |
|---|---|
| ArithmeticException | if divisor == 0 |
Returns a BigInteger array which contains this / divisor
at index 0 and this % divisor at index 1.
| divisor | value by which this is divided. |
|---|
[this / divisor, this % divisor].| NullPointerException | if divisor == null |
|---|---|
| ArithmeticException | if divisor == 0 |
Returns this BigInteger as an double value. If this is
too big to be represented as an double, then
Double.POSITIVE_INFINITY or Double.NEGATIVE_INFINITY is
returned. Note, that not all integers x in the range [-Dobule.MAX_VALUE,
Dobule.MAX_VALUE] can be represented as a double. The double
representation has a mantissa of length 53. For example, 2^53+1 =
9007199254740993 is returned as double 9007199254740992.0.
BigInteger as a double value.
Returns true if x is a BigInteger instance and if this
instance is equal to this BigInteger.
| x | object to be compared with this. |
|---|
Returns a new BigInteger which has the same binary representation
as this but with the bit at position n flipped. The result is
equivalent to this ^ 2^n.
| n | position where the bit in this has to be flipped. |
|---|
this ^ 2^n.| ArithmeticException | if n < 0 |
|---|
Returns this BigInteger as an float value. If this is too
big to be represented as an float, then Float.POSITIVE_INFINITY
or Float.NEGATIVE_INFINITY is returned. Note, that not all
integers x in the range [-Float.MAX_VALUE, Float.MAX_VALUE] can be
represented as a float. The float representation has a mantissa of length
24. For example, 2^24+1 = 16777217 is returned as float 16777216.0.
BigInteger as a float value.
Returns a new BigInteger whose value is greatest common divisor
of this and val. If this==0 and val==0 then zero is
returned, otherwise the result is positive.
| val | value with which the greatest common divisor is computed. |
|---|
gcd(this, val).| NullPointerException | if val == null |
|---|
Returns the position of the lowest set bit in the two's complement
representation of this BigInteger. If all bits are zero (this=0)
then -1 is returned as result.
Returns a hash code for this BigInteger.
Returns this BigInteger as an int value. If this is too
big to be represented as an int, then this % 2^32 is returned.
BigInteger as an int value.
Tests whether this BigInteger is probably prime. If true
is returned, then this is prime with a probability beyond
(1-1/2^certainty). If false is returned, then this is definitely
composite. If the argument certainty ≤ 0, then this method
returns true.
| certainty | tolerated primality uncertainty. |
|---|
ture, if this is probably prime, false
otherwise.
Returns this BigInteger as an long value. If this is too
big to be represented as an long, then this % 2^64 is returned.
BigInteger as a long value.
Returns the maximum of this BigInteger and val.
| val | value to be used to compute the maximum with this. |
|---|
max(this, val.| NullPointerException | if val == null |
|---|
Returns the minimum of this BigInteger and val.
| val | value to be used to compute the minimum with this. |
|---|
min(this, val.| NullPointerException | if val == null |
|---|
Returns a new BigInteger whose value is this mod m. The
modulus m must be positive. The result is guaranteed to be in the
interval [0, m) (0 inclusive, m exclusive). The behavior of this
function is not equivalent to the behavior of the % operator defined for
the built-in int's.
| m | the modulus. |
|---|
this mod m.| NullPointerException | if m == null |
|---|---|
| ArithmeticException | if m < 0 |
Returns a new BigInteger whose value is 1/this mod m.
The modulus m must be positive. The result is guaranteed to be in
the interval [0, m) (0 inclusive, m exclusive). If this
is not relatively prime to m, then an exception is thrown.
| m | the modulus. |
|---|
this mod m.| NullPointerException | if m == null |
|---|---|
| ArithmeticException | if m < 0 or if this is not relatively prime to m |
Returns a new BigInteger whose value is
this^exponent mod m. The modulus m must be positive. The
result is guaranteed to be in the interval [0, m) (0 inclusive, m
exclusive). If the exponent is negative, then
this.modInverse(m)^(-exponent) mod m) is computed. The inverse of
this only exists if this is relatively prime to m, otherwise an
exception is thrown.
| exponent | the exponent. |
|---|---|
| m | the modulus. |
this^exponent mod val.| NullPointerException | if m == null or exponent == null |
|---|---|
| ArithmeticException | if m < 0 or if exponent<0 and this is not relatively prime to m |
Returns a new BigInteger whose value is this * val.
| val | value to be multiplied with this. |
|---|
this * val.| NullPointerException | if val == null |
|---|
Returns a new BigInteger whose value is the -this.
-this.
Returns the smallest integer x > this which is probably prime as
a BigInteger instance. The probability that the returned
BigInteger is prime is beyond (1-1/2^100).
this pwhich is robably prime.| ArithmeticException | if this < 0 |
|---|
Returns a new BigInteger whose value is ~this. The
result of this operation is -this-1.
~this.
Returns a new BigInteger whose value is this | val.
| val | value to be or'ed with this. |
|---|
this | val.| NullPointerException | if val == null |
|---|
Returns a new BigInteger whose value is this ^ exp.
| exp | exponent to which this is raised. |
|---|
this ^ exp.| ArithmeticException | if exp < 0 |
|---|
Returns a random positive BigInteger instance in the range [0,
2^(bitLength)-1] which is probably prime. The probability that the
returned BigInteger is prime is beyond (1-1/2^100).
| bitLength | lenght of the new BigInteger in bits |
|---|---|
| rnd | random generator used to generate the new BigInteger. |
BigInteger instance| IllegalArgumentException | if bitLength < 2 |
|---|
Returns a new BigInteger whose value is this % divisor.
Regarding signs this methods has the same behavior as the % operator on
int's, i.e. the sign of the remainder is the same as the sign of this.
| divisor | value by which this is divided. |
|---|
this % divisor.| NullPointerException | if divisor == null |
|---|---|
| ArithmeticException | if divisor == 0 |
Returns a new BigInteger which has the same binary representation
as this but with the bit at position n set. The result is
equivalent to this | 2^n.
| n | position where the bit in this has to be set. |
|---|
this | 2^n.| ArithmeticException | if n < 0 |
|---|
Returns a new BigInteger whose value is this << n. The
result is equvalent to this * 2^n if n ≥ 0. The shift
distance may be negative which means that this is shifted right.
The result then corresponds to floor(this / 2^(-n)).
| n | shift distance. |
|---|
Returns a new BigInteger whose value is this >> n. For
negative arguments, the result is also negative. The shift distance may
be negative which means that this is shifted left.
| n | shift distance. |
|---|
Returns the sign of this BigInteger.
this < 0, 0 if this == 0, 1 if
this > 0.
Returns a new BigInteger whose value is this - val.
| val | value to be subtracted from this. |
|---|
this - val.| NullPointerException | if val == null |
|---|
Tests whether the bit at position n in this is set. The result is
equivalent to this & (2^n) != 0.
| n | position where the bit in this has to be inspected. |
|---|
this & (2^n) != 0.| ArithmeticException | if n < 0 |
|---|
Returns the two's complement representation of this BigInteger in a byte array.
this.
Returns a string representation of this BigInteger in decimal
form.
this in decimal form.
Returns a string containing a string representation of this
BigInteger with base radix. If radix < Character.MIN_RADIX or
radix > Character.MAX_RADIX then a decimal representation is returned.
The characters of the string representation are generated with method
Character.forDigit.
| radix | base to be used for the string representation. |
|---|
Creates a new BigInteger whose value is equal to the specified
long argument.
| val | the value of the new BigInteger. |
|---|
BigInteger instance with the value val.
Returns a new BigInteger whose value is this ^ val.
| val | value to be xor'ed with this. |
|---|
this ^ val.| NullPointerException | if val == null |
|---|