|
Spec-Zone .ru
спецификации, руководства, описания, API
|
public class BigInteger extends Number implements Comparable<BigInteger>
Семантика арифметических операций точно подражает таковым из целочисленных арифметических операторов Java, как определено в Спецификации языка Java. Например, подразделение нулем бросает ArithmeticException, и подразделение отрицания положительные урожаи отрицание (или нуль) остаток. Все детали в Спецификации относительно переполнения игнорируются, поскольку BigIntegers делаются как большие по мере необходимости, чтобы разместить результаты работы.
Семантика операций сдвига расширяет таковые из операторов сдвига Java, чтобы учесть отрицательные расстояния сдвига. Сдвиг вправо с отрицательным расстоянием сдвига приводит к сдвигу влево, и наоборот. Оператор сдвига вправо без знака (>>>) опускается, поскольку эта работа имеет небольшой смысл в комбинации с "бесконечной абстракцией" размера слова, обеспеченной этим class.
Семантика поразрядных логических операций точно подражает таковым из поразрядных целочисленных операторов Java. Бинарные операторы (and, or, xor) неявно выполните расширение знака на короче этих двух операндов до выполнения работы.
Операции сравнения выполняют сравнения целого числа со знаком, аналогичные выполняемым реляционным Java и операторы равенства.
Операции арифметики в остаточных классах обеспечиваются, чтобы вычислить остатки, выполнить возведение в степень, и вычислить мультипликативные инверсии. Эти методы всегда возвращают неотрицательный результат, между 0 и (modulus - 1), включительно.
Битовые операции работают на единственном бите представления two's-дополнения их операнда. В случае необходимости операнд является знаком - расширялся так, чтобы это содержало определяемый бит. Ни одна из одно-разрядных операций не может произвести BigInteger с различным знаком от BigInteger, управляемого на, поскольку они влияют на только единственный бит, и "бесконечная абстракция" размера слова, обеспеченная этим class, гарантирует, что есть бесконечно много "виртуальных знаковых битов", предшествующих каждому BigInteger.
Ради краткости и ясности, псевдокод используется всюду по описаниям методов BigInteger. Выражение псевдокода (i + j) сокращение для "BigInteger, значение которого является значением BigInteger i плюс тот из BigInteger j." Выражение псевдокода (i == j) сокращение для"true если и только если BigInteger i представляет то же самое значение как BigInteger j." Другие выражения псевдокода интерпретируются так же.
Все методы и конструкторы в этом броске class NullPointerException когда передано нулевая ссылка на объект для любого входного параметра.
BigDecimal, Сериализированная Форма| Модификатор и Тип | Поле и Описание |
|---|---|
static BigInteger |
ОДИН
BigInteger постоянный.
|
static BigInteger |
ДЕСЯТЬ
BigInteger постоянные десять.
|
static BigInteger |
НУЛЬ
BigInteger постоянный нуль.
|
| Конструктор и Описание |
|---|
BigInteger(byte[] val)
Преобразовывает байтовый массив, содержащий двоичное представление two's-дополнения BigInteger в BigInteger.
|
BigInteger(int signum, byte[] magnitude)
Преобразовывает представление величины знака BigInteger в BigInteger.
|
BigInteger(int bitLength, int certainty, Random rnd)
Создает в произвольном порядке сгенерированный положительный BigInteger, который является, вероятно, главным с указанным bitLength.
|
BigInteger(int numBits, Random rnd)
Создает в произвольном порядке сгенерированный BigInteger, однородно распределенный по диапазону 0 к (2
numBits - 1), включительно. |
BigInteger(String val)
Преобразовывает десятичное Строковое представление BigInteger в BigInteger.
|
BigInteger(String val, int radix)
Преобразовывает Строковое представление BigInteger в указанном основании в BigInteger.
|
| Модификатор и Тип | Метод и Описание |
|---|---|
BigInteger |
abs()
Возвращает BigInteger, значение которого является абсолютным значением этого BigInteger.
|
BigInteger |
add(BigInteger val)
Возвращает BigInteger, значение которого
(this + val). |
BigInteger |
and(BigInteger val)
Возвращает BigInteger, значение которого
(this & val). |
BigInteger |
andNot(BigInteger val)
Возвращает BigInteger, значение которого
(this & ~val). |
int |
bitCount()
Возвращает число битов в представлении дополнения two этого BigInteger, которые отличаются от его знакового бита.
|
int |
bitLength()
Возвращает число битов в минимальном представлении two's-дополнения этого BigInteger, исключая знаковый бит.
|
byte |
byteValueExact()
Преобразовывает это
BigInteger к a byte, проверка потерянную информацию. |
BigInteger |
clearBit(int n)
Возвращает BigInteger, значение которого эквивалентно этому BigInteger с определяемым очищенным битом.
|
int |
compareTo(BigInteger val)
Сравнивает этот BigInteger с указанным BigInteger.
|
BigInteger |
divide(BigInteger val)
Возвращает BigInteger, значение которого
(this / val). |
BigInteger[] |
divideAndRemainder(BigInteger val)
Возвращает массив двух BigIntegers, содержащих
(this / val) сопровождаемый (this % val). |
double |
doubleValue()
Преобразовывает этот BigInteger в a
double. |
boolean |
equals(Object x)
Сравнивает этот BigInteger с указанным Объектом для равенства.
|
BigInteger |
flipBit(int n)
Возвращает BigInteger, значение которого эквивалентно этому BigInteger с определяемым зеркально отраженным битом.
|
float |
floatValue()
Преобразовывает этот BigInteger в a
float. |
BigInteger |
gcd(BigInteger val)
Возвращает BigInteger, значение которого является наибольшим общим делителем
abs(this) и abs(val). |
int |
getLowestSetBit()
Возвращает индексирование самого правого одного бита (самого низкоуровневого) в этом BigInteger (число нулевых битов направо от самого правого одного бита).
|
int |
hashCode()
Возвращает хэш-код для этого BigInteger.
|
int |
intValue()
Преобразовывает этот BigInteger в
int. |
int |
intValueExact()
Преобразовывает это
BigInteger к int, проверка потерянную информацию. |
boolean |
isProbablePrime(int certainty)
Возвраты
true если этот BigInteger является, вероятно, главным, false если это - определенно составной объект. |
long |
longValue()
Преобразовывает этот BigInteger в a
long. |
long |
longValueExact()
Преобразовывает это
BigInteger к a long, проверка потерянную информацию. |
BigInteger |
max(BigInteger val)
Возвращает максимум этого BigInteger и
val. |
BigInteger |
min(BigInteger val)
Возвращает минимум этого BigInteger и
val. |
BigInteger |
mod(BigInteger m)
Возвращает BigInteger, значение которого
(this mod m). |
BigInteger |
modInverse(BigInteger m)
Возвращает BigInteger, значение которого
(this-1 mod m). |
BigInteger |
modPow(BigInteger exponent, BigInteger m)
Возвращает BigInteger, значением которого является (thisexponent mod m).
|
BigInteger |
multiply(BigInteger val)
Возвращает BigInteger, значение которого
(this * val). |
BigInteger |
negate()
Возвращает BigInteger, значение которого
(-this). |
BigInteger |
nextProbablePrime()
Возвращает первое целое число, больше чем это
BigInteger это является, вероятно, главным. |
BigInteger |
not()
Возвращает BigInteger, значение которого
(~this). |
BigInteger |
or(BigInteger val)
Возвращает BigInteger, значение которого
(this | val). |
BigInteger |
pow(int exponent)
Возвращает BigInteger, значением которого является (thisexponent).
|
static BigInteger |
probablePrime(int bitLength, Random rnd)
Возвращает положительный BigInteger, который является, вероятно, главным с указанным bitLength.
|
BigInteger |
remainder(BigInteger val)
Возвращает BigInteger, значение которого
(this % val). |
BigInteger |
setBit(int n)
Возвращает BigInteger, значение которого эквивалентно этому BigInteger с определяемым набором битов.
|
BigInteger |
shiftLeft(int n)
Возвращает BigInteger, значение которого
(this << n). |
BigInteger |
shiftRight(int n)
Возвращает BigInteger, значение которого
(this >> n). |
short |
shortValueExact()
Преобразовывает это
BigInteger к a short, проверка потерянную информацию. |
int |
signum()
Возвращает сигнум-функцию этого BigInteger.
|
BigInteger |
subtract(BigInteger val)
Возвращает BigInteger, значение которого
(this - val). |
boolean |
testBit(int n)
Возвраты
true если и только если определяемый бит устанавливается. |
byte[] |
toByteArray()
Возвращает байтовый массив, содержащий представление two's-дополнения этого BigInteger.
|
Строка |
toString()
Возвращает десятичное Строковое представление этого BigInteger.
|
Строка |
toString(int radix)
Возвращает Строковое представление этого BigInteger в данном основании.
|
static BigInteger |
valueOf(long val)
Возвращает BigInteger, значение которого равно тому из указанных
long. |
BigInteger |
xor(BigInteger val)
Возвращает BigInteger, значение которого
(this ^ val). |
byteValue, shortValuepublic static final BigInteger ZERO
public static final BigInteger ONE
public static final BigInteger TEN
public BigInteger(byte[] val)
val - двоичное представление two's-дополнения с обратным порядком байтов BigInteger.NumberFormatException - val нулевые байты долго.public BigInteger(int signum,
byte[] magnitude)
signum - знак числа (-1 для отрицательного, 0 для нуля, 1 для положительного).magnitude - двоичное представление с обратным порядком байтов величины числа.NumberFormatException - signum не одно из трех юридических значений (-1, 0, и 1), или signum 0 и magnitude содержит один или более ненулевых байтов.public BigInteger(String val, int radix)
Character.digit. Строка, возможно, не содержит посторонних символов (пробел, например).val - Строковое представление BigInteger.radix - основание, которое будет использоваться в интерпретации val.NumberFormatException - val не допустимое представление BigInteger в указанном основании, или radix вне диапазона от Character.MIN_RADIX к Character.MAX_RADIX, включительно.Character.digit(char, int)public BigInteger(String val)
Character.digit. Строка, возможно, не содержит посторонних символов (пробел, например).val - десятичное Строковое представление BigInteger.NumberFormatException - val не допустимое представление BigInteger.Character.digit(char, int)public BigInteger(int numBits,
Random rnd)
numBits - 1), включительно. Однородность распределения предполагает, что в справедливом источнике случайных битов обеспечивают rnd. Отметьте, что этот конструктор всегда создает неотрицательный BigInteger.numBits - максимум bitLength нового BigInteger.rnd - источник случайности, которая будет использоваться в вычислениях нового BigInteger.IllegalArgumentException - numBits отрицательно.bitLength()public BigInteger(int bitLength,
int certainty,
Random rnd)
Рекомендуется что probablePrime метод использоваться в предпочтении к этому конструктору, если нет неотразимая потребность определить уверенность.
bitLength - bitLength возвращенного BigInteger.certainty - мера неопределенности, которую вызывающая сторона готова терпеть. Вероятность, что новый BigInteger представляет простое число, превысит (1 - 1/2certainty). Время выполнения этого конструктора пропорционально значению этого параметра.rnd - источник случайных битов, используемых, чтобы выбрать кандидатов, которые будут протестированы на простоту чисел.ArithmeticException - bitLength < 2.bitLength()public static BigInteger probablePrime(int bitLength, Random rnd)
bitLength - bitLength возвращенного BigInteger.rnd - источник случайных битов, используемых, чтобы выбрать кандидатов, которые будут протестированы на простоту чисел.bitLength биты, который является, вероятно, главнымArithmeticException - bitLength < 2.bitLength()public BigInteger nextProbablePrime()
BigInteger это является, вероятно, главным. Вероятность, что число, возвращенное этим методом, является составным объектом, не превышает 2-100. Этот метод никогда не будет перескакивать через начало, ища: если это возвращается p, нет никакого начала q так, что this < q < p.BigInteger это является, вероятно, главным.ArithmeticException - this < 0.public static BigInteger valueOf(long val)
long. Этот "статический метод фабрики" обеспечивается в предпочтении к (long) конструктор, потому что это учитывает повторное использование часто используемого BigIntegers.val - значение BigInteger, чтобы возвратиться.public BigInteger add(BigInteger val)
(this + val).val - значение, которое будет добавлено к этому BigInteger.this + valpublic BigInteger subtract(BigInteger val)
(this - val).val - значение, которое будет вычтено из этого BigInteger.this - valpublic BigInteger multiply(BigInteger val)
(this * val).val - значение, которое будет умножено на этот BigInteger.this * valpublic BigInteger divide(BigInteger val)
(this / val).val - значение, на которое должен быть разделен этот BigInteger.this / valArithmeticException - если val нуль.public BigInteger[] divideAndRemainder(BigInteger val)
(this / val) сопровождаемый (this % val).val - значение, на которое этот BigInteger должен быть разделен, и вычисленный остаток.(this / val) начальный элемент, и остаток (this % val) заключительный элемент.ArithmeticException - если val нуль.public BigInteger remainder(BigInteger val)
(this % val).val - значение, на которое этот BigInteger должен быть разделен, и вычисленный остаток.this % valArithmeticException - если val нуль.public BigInteger pow(int exponent)
exponent целое число, а не BigInteger.exponent - экспонента, до которой должен быть повышен этот BigInteger.ArithmeticException - exponent отрицательно. (Это заставило бы работу приводить к значению нецелого числа.)public BigInteger gcd(BigInteger val)
abs(this) и abs(val). Возвраты 0, если this==0 && val==0.val - значение, с которым должен быть вычислен GCD.GCD(abs(this), abs(val))public BigInteger abs()
abs(this)public BigInteger negate()
(-this).-thispublic int signum()
public BigInteger mod(BigInteger m)
(this mod m). Этот метод отличается от remainder в этом это всегда возвращает неотрицательный BigInteger.m - модуль.this mod mArithmeticException - m ≤ 0remainder(java.math.BigInteger)public BigInteger modPow(BigInteger exponent, BigInteger m)
pow, этот метод разрешает отрицательные экспоненты.)exponent - экспонента.m - модуль.ArithmeticException - m ≤ 0 или экспонента отрицательно, и этот BigInteger не является относительно главным к m.modInverse(java.math.BigInteger)public BigInteger modInverse(BigInteger m)
(this-1 mod m).m - модуль.this-1 mod m.ArithmeticException - m ≤ 0, или этот BigInteger не имеет никакого модника мультипликативной инверсии м. (то есть, этот BigInteger не является относительно главным к m).public BigInteger shiftLeft(int n)
(this << n). Расстояние сдвига, n, может быть отрицательным, когда этот метод выполняет сдвиг вправо. (Вычисляет floor(this * 2n).)n - расстояние сдвига, в битах.this << nArithmeticException - если расстояние сдвига Integer.MIN_VALUE.shiftRight(int)public BigInteger shiftRight(int n)
(this >> n). Расширение знака выполняется. Расстояние сдвига, n, может быть отрицательным, когда этот метод выполняет сдвиг влево. (Вычисляет floor(this / 2n).)n - расстояние сдвига, в битах.this >> nArithmeticException - если расстояние сдвига Integer.MIN_VALUE.shiftLeft(int)public BigInteger and(BigInteger val)
(this & val). (Этот метод возвращает отрицательный BigInteger, если и только если это и val оба отрицательны.)val - значение, чтобы быть AND'ed с этим BigInteger.this & valpublic BigInteger or(BigInteger val)
(this | val). (Этот метод возвращает отрицательный BigInteger, если и только если или это или val отрицательны.)val - значение, чтобы быть OR'ed с этим BigInteger.this | valpublic BigInteger xor(BigInteger val)
(this ^ val). (Этот метод возвращает отрицательный BigInteger, если и только если точно одно из этого и val отрицательно.)val - значение, чтобы быть XOR'ed с этим BigInteger.this ^ valpublic BigInteger not()
(~this). (Этот метод возвращает отрицательную величину, если и только если этот BigInteger является неотрицательным.)~thispublic BigInteger andNot(BigInteger val)
(this & ~val). Этот метод, который эквивалентен and(val.not()), обеспечивается как удобство для того, чтобы замаскировал операции. (Этот метод возвращает отрицательный BigInteger если и только если this отрицательно и val положительно.)val - значение, которое будет дополнено и AND'ed этим BigInteger.this & ~valpublic boolean testBit(int n)
true если и только если определяемый бит устанавливается. (Вычисляет ((this & (1<<n)) != 0).)n - индексируйте бита, чтобы протестировать.true если и только если определяемый бит устанавливается.ArithmeticException - n отрицательно.public BigInteger setBit(int n)
(this | (1<<n)).)n - индексируйте бита, чтобы установить.this | (1<<n)ArithmeticException - n отрицательно.public BigInteger clearBit(int n)
(this & ~(1<<n)).)n - индексируйте бита, чтобы очистить.this & ~(1<<n)ArithmeticException - n отрицательно.public BigInteger flipBit(int n)
(this ^ (1<<n)).)n - индексируйте бита, чтобы зеркально отразить.this ^ (1<<n)ArithmeticException - n отрицательно.public int getLowestSetBit()
(this==0? -1 : log2(this & -this)).)public int bitLength()
(ceil(log2(this < 0 ? -this : this+1))).)public int bitCount()
public boolean isProbablePrime(int certainty)
true если этот BigInteger является, вероятно, главным, false если это - определенно составной объект. Если certainty ≤ 0, true возвращается.certainty - мера неопределенности, которую вызывающая сторона готова терпеть: если вызов возвращается true вероятность, что этот BigInteger является главным, превышает (1 - 1/2certainty). Время выполнения этого метода пропорционально значению этого параметра.true если этот BigInteger является, вероятно, главным, false если это - определенно составной объект.public int compareTo(BigInteger val)
(x.compareTo(y) <op> 0), где <op> является одним из этих шести операторов сравнения.compareTo в интерфейсе Comparable<BigInteger>val - BigInteger, с которым должен быть сравнен этот BigInteger.val.public boolean equals(Object x)
equals в class Objectx - Объект, с которым должен быть сравнен этот BigInteger.true если и только если указанным Объектом является BigInteger, значение которого в цифровой форме равно этому BigInteger.Object.hashCode(), HashMappublic BigInteger min(BigInteger val)
val.val - значение, с которым должен быть вычислен минимум.val. Если они равны, любой может быть возвращен.public BigInteger max(BigInteger val)
val.val - значение, с которым должен быть вычислен максимум.val. Если они равны, любой может быть возвращен.public int hashCode()
hashCode в class ObjectObject.equals(java.lang.Object), System.identityHashCode(java.lang.Object)public String toString(int radix)
Character.MIN_RADIX к Character.MAX_RADIX включительно, это примет значение по умолчанию к 10 (как имеет место для Integer.toString). Отображение цифры-к-символьному, обеспеченное Character.forDigit используется, и знак "минус" предварительно ожидается если приспособлено. (Это представление является совместимым с (String, int) конструктор.)radix - основание Строкового представления.Integer.toString(int, int), Character.forDigit(int, int), BigInteger(java.lang.String, int)public String toString()
Character.forDigit используется, и знак "минус" предварительно ожидается если приспособлено. (Это представление является совместимым с (String) конструктор, и учитывает Конкатенацию строк с Java + оператор.)toString в class ObjectCharacter.forDigit(int, int), BigInteger(java.lang.String)public byte[] toByteArray()
(ceil((this.bitLength() + 1)/8)). (Это представление является совместимым с (byte[]) конструктор.)BigInteger(byte[])public int intValue()
int. Это преобразование походит на сужающееся примитивное преобразование из long к int как определено в разделе 5.1.3 из Спецификации языка Java™: если этот BigInteger является слишком крупным, чтобы вписаться int, только младший разряд 32 бита возвращается. Отметьте, что это преобразование может потерять информацию о полной величине значения BigInteger так же как возвратить результат с противоположным знаком.intValue в class Numberint.intValueExact()public long longValue()
long. Это преобразование походит на сужающееся примитивное преобразование из long к int как определено в разделе 5.1.3 из Спецификации языка Java™: если этот BigInteger является слишком крупным, чтобы поместиться в a long, только младший разряд 64 бита возвращается. Отметьте, что это преобразование может потерять информацию о полной величине значения BigInteger так же как возвратить результат с противоположным знаком.longValue в class Numberlong.longValueExact()public float floatValue()
float. Это преобразование подобно сужающемуся примитивному преобразованию из double к float как определено в разделе 5.1.3 из Спецификации языка Java™: если у этого BigInteger есть слишком большая величина, чтобы представить как a float, это будет преобразовано в Float.NEGATIVE_INFINITY или Float.POSITIVE_INFINITY как соответствующий. Отметьте, что, даже когда возвращаемое значение конечно, это преобразование может потерять информацию о точности значения BigInteger.floatValue в class Numberfloat.public double doubleValue()
double. Это преобразование подобно сужающемуся примитивному преобразованию из double к float как определено в разделе 5.1.3 из Спецификации языка Java™: если у этого BigInteger есть слишком большая величина, чтобы представить как a double, это будет преобразовано в Double.NEGATIVE_INFINITY или Double.POSITIVE_INFINITY как соответствующий. Отметьте, что, даже когда возвращаемое значение конечно, это преобразование может потерять информацию о точности значения BigInteger.doubleValue в class Numberdouble.public long longValueExact()
BigInteger к a long, проверка потерянную информацию. Если значение этого BigInteger испытывает недостаток диапазона long введите, затем ArithmeticException бросается.BigInteger преобразованный в a long.ArithmeticException - если значение this не будет точно помещаться в a long.longValue()public int intValueExact()
BigInteger к int, проверка потерянную информацию. Если значение этого BigInteger испытывает недостаток диапазона int введите, затем ArithmeticException бросается.BigInteger преобразованный в int.ArithmeticException - если значение this не будет точно помещаться в a int.intValue()public short shortValueExact()
BigInteger к a short, проверка потерянную информацию. Если значение этого BigInteger испытывает недостаток диапазона short введите, затем ArithmeticException бросается.BigInteger преобразованный в a short.ArithmeticException - если значение this не будет точно помещаться в a short.Number.shortValue()public byte byteValueExact()
BigInteger к a byte, проверка потерянную информацию. Если значение этого BigInteger испытывает недостаток диапазона byte введите, затем ArithmeticException бросается.BigInteger преобразованный в a byte.ArithmeticException - если значение this не будет точно помещаться в a byte.Number.byteValue()
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92