Spec-Zone.ru › OpenJDK 8

Класс BigInteger

  • java.lang.Object
    • java.lang.Number
      • java.math.BigInteger
Все реализованные интерфейсы:
Serializable, Comparable<BigInteger>

public class BigInteger
extends Number
implements Comparable<BigInteger>

Неизменяемые целые числа произвольной точности. Все операции выполняются так, как если бы BigInteger представлялись в дополнительном коде к двум (как примитивные целочисленные типы Java). BigInteger предоставляет аналоги всех примитивных целочисленных операторов Java и всех соответствующих методов из java.lang.Math. Кроме того, BigInteger предоставляет операции для модулярной арифметики, вычисления НОД, проверки простоты, генерации простых чисел, манипулирования битами и некоторых других вспомогательных операций.

Семантика арифметических операций точно имитирует семантику целочисленных арифметических операторов Java, как определено в спецификации языка Java. Например, деление на ноль вызывает ArithmeticException, а деление отрицательного числа на положительное дает отрицательный (или нулевой) остаток. Все детали в спецификации, касающиеся переполнения, игнорируются, поскольку BigInteger делает размер достаточно большим, чтобы вместить результаты операции.

Семантика операций сдвига расширяет семантику операторов сдвига Java, позволяя использовать отрицательные сдвиги. Сдвиг вправо с отрицательным сдвигом приводит к сдвигу влево, и наоборот. Оператор беззнакового сдвига вправо (>>>) опущен, поскольку эта операция имеет мало смысла в сочетании с абстракцией «бесконечного размера слова», предоставляемой этим классом.

Семантика побитовых логических операций точно имитирует семантику побитовых целочисленных операторов Java. Бинарные операторы (and, or, xor) неявно выполняют расширение знака для более короткого из двух операндов перед выполнением операции.

Операции сравнения выполняют сравнения целых чисел со знаком, аналогично тем, которые выполняют операторы отношения и равенства Java.

Предоставляются операции модулярной арифметики для вычисления остатков, возведения в степень и вычисления мультипликативных обратных элементов. Эти методы всегда возвращают неотрицательный результат, в диапазоне от 0 до (modulus - 1) включительно.

Операции с битами работают с одним битом в представлении операнда в дополнительном коде к двум. При необходимости операнд расширяется со знаком, чтобы содержать выделенный бит. Ни одна из операций с одним битом не может произвести BigInteger с другим знаком, чем у обрабатываемого BigInteger, поскольку они влияют только на один бит, и абстракция «бесконечного размера слова», предоставляемая этим классом, гарантирует, что перед каждым BigInteger существует бесконечное число «виртуальных битов знака».

Для краткости и ясности в описаниях методов BigInteger используется псевдокод. Выражение псевдокода (i + j) является сокращением от «BigInteger, значение которого равно значению BigInteger i плюс значению BigInteger j». Выражение псевдокода (i == j) является сокращением от «true тогда и только тогда, когда BigInteger i представляет такое же значение, что и BigInteger j». Другие выражения псевдокода интерпретируются аналогично.

Все методы и конструкторы в этом классе выбрасывают NullPointerException при передаче нулевого указателя объекта для любого входного параметра. BigInteger должен поддерживать значения в диапазоне от -2Integer.MAX_VALUE (исключая) до +2Integer.MAX_VALUE (исключая), и может поддерживать значения за пределами этого диапазона. Диапазон вероятных простых чисел ограничен и может быть меньше полного поддерживаемого положительного диапазона BigInteger. Диапазон должен составлять как минимум от 1 до 2500000000.

Примечание реализации:
Конструкторы и операции BigInteger выбрасывают ArithmeticException при получении результата, который выходит за поддерживаемый диапазон от -2Integer.MAX_VALUE (исключая) до +2Integer.MAX_VALUE (исключая).
С:
JDK1.1
См. также:
BigDecimal, Сериализованная форма

Поля

Модификатор и тип Поле и описание
static BigInteger ONE

Постоянная BigInteger единица.

static BigInteger TEN

Постоянная BigInteger десять.

static BigInteger ZERO

Постоянная BigInteger ноль.

Конструкторы

Конструктор и описание
BigInteger(byte[] val)

Преобразует массив байтов, содержащий двоичное представление BigInteger в дополнительном коде к двум, в BigInteger.

BigInteger(int signum, byte[] magnitude)

Преобразует представление BigInteger в знаке и величине в BigInteger.

BigInteger(int bitLength, int certainty, Random rnd)

Создаёт случайно сгенерированное положительное BigInteger, которое, вероятно, является простым, с указанной длиной в битах.

BigInteger(int numBits, Random rnd)

Создаёт случайно сгенерированное BigInteger, равномерно распределённое в диапазоне от 0 до (2numBits - 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 в дополнительном коде, отличающихся от знакового бита.

int bitCount()

Возвращает количество битов в минимальном представлении этого BigInteger в дополнительном коде, исключая знаковый бит.

int bitLength()

Преобразует этот BigInteger в byte, проверяя на потерю информации.

byte byteValueExact()

Преобразует этот BigInteger в byte, проверяя на потерю информации.

BigInteger clearBit(int n)

Возвращает BigInteger, значение которого эквивалентно этому BigInteger со сброшенным указанным битом.

int compareTo(BigInteger val)

Сравнивает этот BigInteger с указанным BigInteger.

BigInteger divide(BigInteger val)

Возвращает BigInteger, значение которого равно (this / val).

BigInteger[] divideAndRemainder(BigInteger val)

Возвращает массив из двух BigInteger, содержащий (this / val) и (this % val).

double doubleValue()

Преобразует этот BigInteger в double.

boolean equals(Object x)

Сравнивает этот BigInteger с указанным объектом Object на равенство.

BigInteger flipBit(int n)

Возвращает BigInteger, значение которого эквивалентно этому BigInteger с переключенным указанным битом.

float floatValue()

Преобразует этот BigInteger в float.

BigInteger gcd(BigInteger val)

Возвращает BigInteger, значение которого равно наибольшему общему делителю abs(this) и abs(val).

int getLowestSetBit()

Возвращает индекс самого правого (самого младшего) бита 1 в этом BigInteger (количество нулевых битов справа от самого правого бита 1).

int hashCode()

Возвращает код хэша для этого BigInteger.

int intValue()

Преобразует этот BigInteger в int.

int intValueExact()

Преобразует этот BigInteger в int, проверяя на потерю информации.

boolean isProbablePrime(int certainty)

Возвращает true, если этот BigInteger, вероятно, является простым числом, false, если он определённо составной.

long longValue()

Преобразует этот BigInteger в long.

long longValueExact()

Преобразует этот BigInteger в 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 в short, проверяя на потерю информации.

int signum()

Возвращает функцию знака этого BigInteger.

BigInteger subtract(BigInteger val)

Возвращает BigInteger, значение которого равно (this - val).

boolean testBit(int n)

Возвращает true, если и только если указанный бит установлен.

byte[] toByteArray()

Возвращает массив байтов, содержащий представление этого BigInteger в дополнительном коде.

String toString()

Возвращает строковое представление этого BigInteger в десятичной форме.

String toString(int radix)

Возвращает строковое представление этого BigInteger в заданной системе счисления.

static BigInteger valueOf(long val)

Возвращает BigInteger, значение которого равно значению указанного long.

BigInteger xor(BigInteger val)

Возвращает BigInteger, значение которого равно (this ^ val).

Методы, унаследованные от класса java.lang.Number

byteValue, shortValue

Методы, унаследованные от класса java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Поля

ZERO

public static final BigInteger ZERO

Константа BigInteger, равная нулю.

С версии:
1.2

ONE

public static final BigInteger ONE

Константа BigInteger, равная единице.

С версии:
1.2

TEN

public static final BigInteger TEN

Константа BigInteger, равная десяти.

С версии:
1.5

Конструкторы

BigInteger

public BigInteger(byte[] val)

Преобразует массив байтов, содержащий двоичное представление BigInteger в дополнительном коде, в BigInteger. Предполагается, что входной массив имеет порядок байтов big-endian: старший байт находится в нулевом элементе.

Параметры:
val - двоичное представление BigInteger в дополнительном коде в формате big-endian.
Исключения:
NumberFormatException - val имеет нулевую длину.

BigInteger

public BigInteger(int signum,
                  byte[] magnitude)

Преобразует представление BigInteger в формате знак-величина в BigInteger. Знак представлен в виде целочисленного значения signum: -1 для отрицательного, 0 для нуля или 1 для положительного. Величина представляет собой массив байтов в порядке байтов big-endian: старший байт находится в нулевом элементе. Допустим массив величины нулевой длины, что приведёт к значению BigInteger, равному 0, независимо от того, равно ли signum -1, 0 или 1.

Параметры:
signum - signum числа (-1 для отрицательного, 0 для нуля, 1 для положительного).
magnitude - двоичное представление величины числа в формате big-endian.
Исключения:
NumberFormatException - signum не является одним из трёх допустимых значений (-1, 0 и 1), или signum равно 0, и magnitude содержит один или несколько ненулевых байтов.

BigInteger

public BigInteger(String val,
                  int radix)

Преобразует строковое представление BigInteger в указанной системе счисления в BigInteger. Строковое представление состоит из необязательного знака минус или плюс, за которым следует последовательность из одной или нескольких цифр в указанной системе счисления. Сопоставление символов и цифр обеспечивается Character.digit. Строка не должна содержать никаких лишних символов (например, пробелов).

Параметры:
val - строковое представление BigInteger.
radix - система счисления, используемая для интерпретации val.
Исключения:
NumberFormatException - val не является допустимым представлением BigInteger в указанной системе счисления, или radix находится за пределами диапазона от Character.MIN_RADIX до Character.MAX_RADIX, включительно.
См. также:
Character.digit(char, int)

BigInteger

public BigInteger(String val)

Преобразует десятичное строковое представление BigInteger в BigInteger. Строковое представление состоит из необязательного знака минус, за которым следует последовательность из одной или нескольких десятичных цифр. Сопоставление символов и цифр обеспечивается Character.digit. Строка не должна содержать никаких лишних символов (например, пробелов).

Параметры:
val - десятичное строковое представление BigInteger.
Исключения:
NumberFormatException - val не является допустимым представлением BigInteger.
См. также:
Character.digit(char, int)

BigInteger

public BigInteger(int numBits,
                  Random rnd)

Создаёт случайно сгенерированный BigInteger, равномерно распределённый в диапазоне от 0 до (2numBits - 1), включительно. Равномерность распределения предполагает, что в rnd предоставлен справедливый источник случайных битов. Обратите внимание, что этот конструктор всегда создаёт неотрицательный BigInteger.

Параметры:
numBits - максимальная bitLength нового BigInteger.
rnd - источник случайности, используемый для вычисления нового BigInteger.
Исключения:
IllegalArgumentException - numBits является отрицательным.
См. также:
bitLength()

BigInteger

public BigInteger(int bitLength,
                  int certainty,
                  Random rnd)

Создаёт случайно сгенерированный положительный BigInteger, который, вероятно, является простым числом, с указанной bitLength.

Рекомендуется использовать метод probablePrime вместо этого конструктора, если нет веской необходимости указывать достоверность.

Параметры:
bitLength - bitLength возвращаемого BigInteger.
certainty - мера неопределённости, которую готов допустить вызывающий. Вероятность того, что новый BigInteger представляет простое число, будет превышать (1 - 1/2certainty). Время выполнения этого конструктора пропорционально значению этого параметра.
rnd - источник случайных битов, используемых для выбора кандидатов для проверки на простоту.
Исключения:
ArithmeticException - bitLength < 2 или bitLength слишком велики.
См. также:
bitLength()

Методы

probablePrime

public static BigInteger probablePrime(int bitLength,
                                       Random rnd)

Возвращает положительный BigInteger, который, вероятно, является простым числом, с указанной bitLength. Вероятность того, что BigInteger, возвращаемый этим методом, является составным, не превышает 2-100.

Параметры:
bitLength - bitLength возвращаемого BigInteger.
rnd - источник случайных битов, используемых для выбора кандидатов для проверки на простоту.
Возвращает:
BigInteger из bitLength бит, который, вероятно, является простым числом
Исключения:
ArithmeticException - bitLength < 2 или bitLength слишком велики.
С версии:
1.4
См. также:
bitLength()

nextProbablePrime

public BigInteger nextProbablePrime()

Возвращает первое целое число, большее, чем этот BigInteger, которое, вероятно, является простым числом. Вероятность того, что число, возвращаемое этим методом, является составным, не превышает 2-100. Этот метод никогда не пропускает простое число при поиске: если он возвращает p, то нет простого q такого, что this < q < p.

Возвращает:
первое целое число, большее, чем этот BigInteger, которое, вероятно, является простым числом.
Исключения:
ArithmeticException - this < 0 или this слишком велики.
С версии:
1.5

valueOf

public static BigInteger valueOf(long val)

Возвращает BigInteger, значение которого равно значению указанного long. Этот "статический фабричный метод" предоставляется предпочтительнее (long) конструктора, поскольку он позволяет повторно использовать часто используемые BigIntegers.

Параметры:
val - значение BigInteger, которое нужно вернуть.
Возвращает:
BigInteger с указанным значением.

add

public BigInteger add(BigInteger val)

Возвращает BigInteger, значение которого равно (this + val).

Параметры:
val - значение, которое нужно добавить к этому BigInteger.
Возвращает:
this + val

subtract

public BigInteger subtract(BigInteger val)

Возвращает BigInteger, значение которого равно (this - val).

Параметры:
val - значение, которое нужно вычесть из этого BigInteger.
Возвращает:
this - val

multiply

public BigInteger multiply(BigInteger val)

Возвращает BigInteger, значение которого равно (this * val).

Примечание по реализации:
Реализация может обеспечить лучшую производительность алгоритма, когда val == this.
Параметры:
val - значение, на которое нужно умножить этот BigInteger.
Возвращает:
this * val

divide

public BigInteger divide(BigInteger val)

Возвращает BigInteger, значение которого равно (this / val).

Параметры:
val - значение, на которое нужно разделить этот BigInteger.
Возвращает:
this / val
Исключения:
ArithmeticException - если val равно нулю.

divideAndRemainder

public BigInteger[] divideAndRemainder(BigInteger val)

Возвращает массив из двух BigIntegers, содержащий (this / val), за которым следует (this % val).

Параметры:
val - значение, на которое нужно разделить этот BigInteger, и вычислить остаток.
Возвращает:
массив из двух BigIntegers: частное (this / val) является начальным элементом, а остаток (this % val) является конечным элементом.
Исключения:
ArithmeticException - если val равно нулю.

remainder

public BigInteger remainder(BigInteger val)

Возвращает BigInteger, значение которого равно (this % val).

Параметры:
val - значение, на которое нужно разделить этот BigInteger, и вычислить остаток.
Возвращает:
this % val
Исключения:
ArithmeticException - если val равно нулю.

pow

public BigInteger pow(int exponent)

Возвращает BigInteger, значение которого равно (thisexponent). Обратите внимание, что exponent является целым числом, а не BigInteger.

Параметры:
exponent - показатель степени, в которую нужно возвести этот BigInteger.
Возвращает:
thisexponent
Исключения:
ArithmeticException - exponent является отрицательным. (Это приведёт к тому, что операция даст нецелое значение.)

gcd

public BigInteger gcd(BigInteger val)

Возвращает BigInteger, значение которого является наибольшим общим делителем abs(this) и abs(val). Возвращает 0, если this == 0 && val == 0.

Параметры:
val - значение, с которым нужно вычислить НОД.
Возвращает:
GCD(abs(this), abs(val))

abs

public BigInteger abs()

Возвращает BigInteger, значение которого является абсолютным значением этого BigInteger.

Возвращает:
abs(this)

negate

public BigInteger negate()

Возвращает BigInteger, значение которого равно (-this).

Возвращает:
-this

signum

public int signum()

Возвращает функцию signum этого BigInteger.

Возвращает:
-1, 0 или 1, в зависимости от того, является ли значение этого BigInteger отрицательным, нулевым или положительным.

mod

public BigInteger mod(BigInteger m)

Возвращает BigInteger, значение которого равно (this mod m). Этот метод отличается от remainder тем, что всегда возвращает неотрицательный BigInteger.

Параметры:
m - модуль.
Возвращает:
this mod m
Исключение:
ArithmeticException - m ≤ 0
См. также:
remainder(java.math.BigInteger)

modPow

public BigInteger modPow(BigInteger exponent,
                         BigInteger m)

Возвращает BigInteger, значение которого равно (thisexponent mod m). (В отличие от pow, этот метод допускает отрицательные экспоненты.)

Параметры:
exponent - показатель степени.
m - модуль.
Возвращает:
thisexponent mod m
Исключение:
ArithmeticException - m ≤ 0 или показатель степени отрицательный, и этот BigInteger не является взаимно простым с m.
См. также:
modInverse(java.math.BigInteger)

modInverse

public BigInteger modInverse(BigInteger m)

Возвращает BigInteger, значение которого равно (this-1 mod m).

Параметры:
m - модуль.
Возвращает:
this-1 mod m.
Исключение:
ArithmeticException - m ≤ 0, или у этого BigInteger нет мультипликативного обратного значения по модулю m (то есть, этот BigInteger не является взаимно простым с m).

shiftLeft

public BigInteger shiftLeft(int n)

Возвращает BigInteger, значение которого равно (this << n). Смещение, n, может быть отрицательным, в этом случае метод выполняет сдвиг вправо. (Вычисляет floor(this * 2n).)

Параметры:
n - расстояние сдвига, в битах.
Возвращает:
this << n
См. также:
shiftRight(int)

shiftRight

public BigInteger shiftRight(int n)

Возвращает BigInteger, значение которого равно (this >> n). Выполняется расширение знака. Смещение, n, может быть отрицательным, в этом случае метод выполняет сдвиг влево. (Вычисляет floor(this / 2n).)

Параметры:
n - расстояние сдвига, в битах.
Возвращает:
this >> n
См. также:
shiftLeft(int)

and

public BigInteger and(BigInteger val)

Возвращает BigInteger, значение которого равно (this & val). (Этот метод возвращает отрицательный BigInteger тогда и только тогда, когда оба this и val отрицательны.)

Параметры:
val - значение, которое нужно побитово И с этим BigInteger.
Возвращает:
this & val

or

public BigInteger or(BigInteger val)

Возвращает BigInteger, значение которого равно (this | val). (Этот метод возвращает отрицательный BigInteger тогда и только тогда, когда либо this, либо val отрицательны.)

Параметры:
val - значение, которое нужно побитово ИЛИ с этим BigInteger.
Возвращает:
this | val

xor

public BigInteger xor(BigInteger val)

Возвращает BigInteger, значение которого равно (this ^ val). (Этот метод возвращает отрицательный BigInteger тогда и только тогда, когда ровно одно из значений this и val отрицательно.)

Параметры:
val - значение, которое нужно побитово XOR с этим BigInteger.
Возвращает:
this ^ val

not

public BigInteger not()

Возвращает BigInteger, значение которого равно (~this). (Этот метод возвращает отрицательное значение тогда и только тогда, когда BigInteger неотрицателен.)

Возвращает:
~this

andNot

public BigInteger andNot(BigInteger val)

Возвращает BigInteger, значение которого равно (this & ~val). Этот метод, который эквивалентен and(val.not()), предоставляется для удобства операций масок. (Этот метод возвращает отрицательный BigInteger тогда и только тогда, когда this отрицателен, а val положителен.)

Параметры:
val - значение, которое нужно дополнить и побитово И с этим BigInteger.
Возвращает:
this & ~val

testBit

public boolean testBit(int n)

Возвращает true тогда и только тогда, когда указанный бит установлен. (Вычисляет ((this & (1<<n)) != 0).)

Параметры:
n - индекс бита для проверки.
Возвращает:
true тогда и только тогда, когда указанный бит установлен.
Исключение:
ArithmeticException - n отрицателен.

setBit

public BigInteger setBit(int n)

Возвращает BigInteger, значение которого равно этому BigInteger с установленным указанным битом. (Вычисляет (this | (1<<n)).)

Параметры:
n - индекс бита для установки.
Возвращает:
this | (1<<n)
Исключение:
ArithmeticException - n отрицателен.

clearBit

public BigInteger clearBit(int n)

Возвращает BigInteger, значение которого равно этому BigInteger с очищенным указанным битом. (Вычисляет (this & ~(1<<n)).)

Параметры:
n - индекс бита для очистки.
Возвращает:
this & ~(1<<n)
Исключение:
ArithmeticException - n отрицателен.

flipBit

public BigInteger flipBit(int n)

Возвращает BigInteger, значение которого равно этому BigInteger с переключенным указанным битом. (Вычисляет (this ^ (1<<n)).)

Параметры:
n - индекс бита для переключения.
Возвращает:
this ^ (1<<n)
Исключение:
ArithmeticException - n отрицателен.

getLowestSetBit

public int getLowestSetBit()

Возвращает индекс самого правого (самого младшего) бита 1 в этом BigInteger (количество нулевых битов справа от самого правого бита 1). Возвращает -1, если этот BigInteger не содержит единичных битов. (Вычисляет (this == 0? -1 : log2(this & -this)).)

Возвращает:
индекс самого правого бита 1 в этом BigInteger.

bitLength

public int bitLength()

Возвращает количество битов в минимальном представлении этого BigInteger в дополнительном коде, исключая бит знака. Для положительных BigInteger это эквивалентно количеству битов в обычном двоичном представлении. (Вычисляет (ceil(log2(this < 0 ? -this : this+1))).)

Возвращает:
количество битов в минимальном представлении этого BigInteger в дополнительном коде, исключая бит знака.

bitCount

public int bitCount()

Возвращает количество битов в представлении этого BigInteger в дополнительном коде, отличающихся от бита знака. Этот метод полезен при реализации наборов в стиле битовых векторов на основе BigInteger.

Возвращает:
количество битов в представлении этого BigInteger в дополнительном коде, отличающихся от бита знака.

isProbablePrime

public boolean isProbablePrime(int certainty)

Возвращает true если этот BigInteger, вероятно, является простым числом, false если он определенно составной. Если certainty ≤ 0, true возвращается.

Параметры:
certainty - мера неопределенности, которую вызывающий метод готов допустить: если вызов возвращает true, вероятность того, что этот BigInteger является простым числом, превышает (1 - 1/2certainty). Время выполнения этого метода пропорционально значению этого параметра.
Возвращает:
true если этот BigInteger, вероятно, является простым числом, false если он определенно составной.

compareTo

public int compareTo(BigInteger val)

Сравнивает этот BigInteger со заданным BigInteger. Этот метод предоставляется вместо отдельных методов для каждого из шести булевых операторов сравнения (<, ==, >, >=, !=, <=). Предлагаемый способ выполнения этих сравнений: (x.compareTo(y) <op> 0), где <op> - один из шести операторов сравнения.

Заданный интерфейсом:
compareTo в интерфейсе Comparable<BigInteger>
Параметры:
val - BigInteger, с которым нужно сравнить этот BigInteger.
Возвращает:
-1, 0 или 1, в зависимости от того, является ли этот BigInteger численно меньше, равен или больше val.

equals

public boolean equals(Object x)

Сравнивает этот BigInteger со заданным объектом на равенство.

Переопределяет:
equals в классе Object
Параметры:
x - объект, с которым нужно сравнить этот BigInteger.
Возвращает:
true тогда и только тогда, когда заданный объект является BigInteger, значение которого численно равно этому BigInteger.
См. также:
Object.hashCode(), HashMap

min

public BigInteger min(BigInteger val)

Возвращает меньшее из этого BigInteger и val.

Параметры:
val - значение, с которым вычисляется минимум.
Возвращает:
BigInteger, значение которого является меньшим из этого BigInteger и val. Если они равны, может быть возвращено любое из них.

max

public BigInteger max(BigInteger val)

Возвращает большее из этого BigInteger и val.

Параметры:
val - значение, с которым вычисляется максимум.
Возвращает:
BigInteger, значение которого является большим из этого BigInteger и val. Если они равны, может быть возвращено любое из них.

hashCode

public int hashCode()

Возвращает хэш-код для этого BigInteger.

Переопределяет:
hashCode в классе Object
Возвращает:
хеш-код для этого BigInteger.
См. также:
Object.equals(java.lang.Object), System.identityHashCode(java.lang.Object)

toString

public String toString(int radix)

Возвращает строковое представление этого BigInteger в заданном радиксе. Если радикс находится вне диапазона от Character.MIN_RADIX до Character.MAX_RADIX включительно, он по умолчанию будет равен 10 (как и в случае с Integer.toString). Используется отображение цифр в символы, предоставляемое Character.forDigit, и, при необходимости, префикс минус. (Это представление совместимо с конструктором (String, int).)

Параметры:
radix - радикс строкового представления.
Возвращает:
строковое представление этого BigInteger в заданном радиксе.
См. также:
Integer.toString(int, int), Character.forDigit(int, int), BigInteger(java.lang.String, int)

toString

public String toString()

Возвращает десятичное строковое представление этого BigInteger. Используется отображение цифр в символы, предоставляемое Character.forDigit, и, при необходимости, префикс минус. (Это представление совместимо с конструктором (String) и позволяет использовать оператор конкатенации строк Java +.)

Переопределяет:
toString в классе Object
Возвращает:
десятичное строковое представление этого BigInteger.
См. также:
Character.forDigit(int, int), BigInteger(java.lang.String)

toByteArray

public byte[] toByteArray()

Возвращает массив байтов, содержащий представление этого BigInteger в дополнительном коде. Массив байтов будет в большом байтовом порядке: самый значимый байт находится в нулевом элементе. Массив будет содержать минимальное количество байтов, необходимое для представления этого BigInteger, включая по крайней мере один знаковый бит, который равен (ceil((this.bitLength() + 1)/8)). (Это представление совместимо с конструктором (byte[]).)

Возвращает:
массив байтов, содержащий представление этого BigInteger в дополнительном коде.
См. также:
BigInteger(byte[])

intValue

public int intValue()

Преобразует этот BigInteger в int. Это преобразование аналогично преобразованию примитивного типа сужения от long к int, как определено в разделе 5.1.3 спецификации языка Java™: если этот BigInteger слишком велик, чтобы поместиться в int, возвращаются только младшие 32 бита. Обратите внимание, что при этом преобразовании может потеряться информация о общем порядке величины значения BigInteger, а также может быть возвращен результат с противоположным знаком.

Указано в:
intValue в классе Number
Возвращает:
этот BigInteger, преобразованный в int.
См. также:
intValueExact()

longValue

public long longValue()

Преобразует этот BigInteger в long. Это преобразование аналогично преобразованию примитивного типа сужения от long к int, как определено в разделе 5.1.3 спецификации языка Java™: если этот BigInteger слишком велик, чтобы поместиться в long, возвращаются только младшие 64 бита. Обратите внимание, что при этом преобразовании может потеряться информация о общем порядке величины значения BigInteger, а также может быть возвращен результат с противоположным знаком.

Указано в:
longValue в классе Number
Возвращает:
этот BigInteger, преобразованный в long.
См. также:
longValueExact()

floatValue

public float floatValue()

Преобразует этот BigInteger в float. Это преобразование подобно преобразованию примитивного типа сужения от double к float, как определено в разделе 5.1.3 спецификации языка Java™: если у этого BigInteger слишком большая величина для представления в виде float, он будет преобразован в Float.NEGATIVE_INFINITY или Float.POSITIVE_INFINITY, соответственно. Обратите внимание, что даже когда возвращаемое значение конечно, при этом преобразовании может потеряться информация о точности значения BigInteger.

Указано в:
floatValue в классе Number
Возвращает:
этот BigInteger, преобразованный в float.

doubleValue

public double doubleValue()

Преобразует этот BigInteger в double. Это преобразование подобно преобразованию примитивного типа сужения от double к float, как определено в разделе 5.1.3 спецификации языка Java™: если у этого BigInteger слишком большая величина для представления в виде double, он будет преобразован в Double.NEGATIVE_INFINITY или Double.POSITIVE_INFINITY, соответственно. Обратите внимание, что даже когда возвращаемое значение конечно, при этом преобразовании может потеряться информация о точности значения BigInteger.

Указано в:
doubleValue в классе Number
Возвращает:
этот BigInteger, преобразованный в double.

longValueExact

public long longValueExact()

Преобразует этот BigInteger в long, проверяя на потерю информации. Если значение этого BigInteger выходит за пределы диапазона типа long, выбрасывается ArithmeticException.

Возвращает:
этот BigInteger преобразованный в long.
Исключения:
ArithmeticException - если значение this не точно поместится в long.
С:
1.8
См. также:
longValue()

intValueExact

public int intValueExact()

Преобразует этот BigInteger в int, проверяя на потерю информации. Если значение этого BigInteger выходит за пределы диапазона типа int, выбрасывается ArithmeticException.

Возвращает:
этот BigInteger преобразованный в int.
Исключения:
ArithmeticException - если значение this не точно поместится в int.
С:
1.8
См. также:
intValue()

shortValueExact

public short shortValueExact()

Преобразует этот BigInteger в short, проверяя на потерю информации. Если значение этого BigInteger выходит за пределы диапазона типа short, выбрасывается ArithmeticException.

Возвращает:
этот BigInteger преобразованный в short.
Исключения:
ArithmeticException - если значение this не точно поместится в short.
С:
1.8
См. также:
Number.shortValue()

byteValueExact

public byte byteValueExact()

Преобразует этот BigInteger в byte, проверяя на потерю информации. Если значение этого BigInteger выходит за пределы диапазона типа byte, выбрасывается ArithmeticException.

Возвращает:
этот BigInteger преобразованный в byte.
Исключения:
ArithmeticException - если значение this не точно поместится в byte.
С:
1.8
См. также:
Number.byteValue()

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API