This subclass of java.lang.Number represents integers that can be arbitrarily large--i.e., integers that are not limited to the 64 bits available with the long data type. BigInteger defines methods that duplicate the functionality of the standard Java arithmetic and bit-manipulation operators. The compareTo() method compares two BigInteger objects, and returns -1, 0, or 1 to indicate the result of the comparison.
The gcd(), modPow(), modInverse(), and isProbablePrime() methods perform advanced operations and are used primarily in cryptography and related algorithms.
public class BigInteger extends Number {
// Public Constructors
public BigInteger(byte[] val) throws NumberFormatException;
public BigInteger(int signum, byte[] magnitude) throws NumberFormatException;
public BigInteger(String val, int radix) throws NumberFormatException;
public BigInteger(String val) throws NumberFormatException;
public BigInteger(int numBits, Random rndSrc) throws IllegalArgumentException;
public BigInteger(int bitLength, int certainty, Random rnd);
// Class Methods
public static BigInteger valueOf(long val);
// Public Instance Methods
public BigInteger abs();
public BigInteger add(BigInteger val) throws ArithmeticException;
public BigInteger and(BigInteger val);
public BigInteger andNot(BigInteger val);
public int bitCount();
public int bitLength();
public BigInteger clearBit(int n) throws ArithmeticException;
public int compareTo(BigInteger val);
public BigInteger divide(BigInteger val) throws ArithmeticException;
public BigInteger[] divideAndRemainder(BigInteger val) throws ArithmeticException;
public double doubleValue(); // Defines Number
public boolean equals(Object x); // Overrides Object
public BigInteger flipBit(int n) throws ArithmeticException;
public float floatValue(); // Defines Number
public BigInteger gcd(BigInteger val);
public int getLowestSetBit();
public int hashCode(); // Overrides Object
public int intValue(); // Defines Number
public boolean isProbablePrime(int certainty);
public long longValue(); // Defines Number
public BigInteger max(BigInteger val);
public BigInteger min(BigInteger val);
public BigInteger mod(BigInteger m);
public BigInteger modInverse(BigInteger m) throws ArithmeticException;
public BigInteger modPow(BigInteger exponent, BigInteger m);
public BigInteger multiply(BigInteger val);
public BigInteger negate();
public BigInteger not();
public BigInteger or(BigInteger val);
public BigInteger pow(int exponent) throws ArithmeticException;
public BigInteger remainder(BigInteger val) throws ArithmeticException;
public BigInteger setBit(int n) throws ArithmeticException;
public BigInteger shiftLeft(int n);
public BigInteger shiftRight(int n);
public int signum();
public BigInteger subtract(BigInteger val);
public boolean testBit(int n) throws ArithmeticException;
public byte[] toByteArray();
public String toString(int radix);
public String toString(); // Overrides Object
public BigInteger xor(BigInteger val);
}
Object->Number(Serializable)->BigInteger
BigDecimal()
BigDecimal.toBigInteger()