Класс BigInteger
- Все реализованные интерфейсы:
-
Serializable,Comparable<BigInteger>
public class BigInteger extends Number implements Comparable<BigInteger>
Семантика арифметических операций точно соответствует семантике целочисленных арифметических операторов Java, как определено в Спецификации языка Java. Например, деление на ноль вызывает ArithmeticException, а деление отрицательного числа на положительное дает отрицательный (или нулевой) остаток.
Семантика операций сдвига расширяет семантику операторов сдвига 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 (исключая) и может поддерживать значения вне этого диапазона. ArithmeticException выбрасывается, когда конструктор или метод BigInteger генерируют значение вне поддерживаемого диапазона. Диапазон вероятных простых чисел ограничен и может быть меньше полного поддерживаемого положительного диапазона BigInteger. Диапазон должен быть по крайней мере от 1 до 2500000000.
- Примечание об имплементации:
- В эталонной реализации конструкторы и операции BigInteger выбрасывают
ArithmeticExceptionпри получении результата вне поддерживаемого диапазона от -2Integer.MAX_VALUE(исключая) до +2Integer.MAX_VALUE(исключая). - См. Спецификацию языка Java:
- 4.2.2 Операции с целыми числами
- С момента:
- 1.1
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
static final BigInteger |
ONE |
Постоянная BigInteger, равная единице. |
static final BigInteger |
TEN |
Постоянная BigInteger, равная десяти. |
static final BigInteger |
TWO |
Постоянная BigInteger, равная двум. |
static final BigInteger |
ZERO |
Постоянная BigInteger, равная нулю. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
BigInteger |
Преобразует массив байтов, содержащий двоичное представление BigInteger в дополнительном коде, в объект BigInteger. |
BigInteger |
Преобразует подмассив байтов, содержащий двоичное представление BigInteger в дополнительном коде, в объект BigInteger. |
BigInteger |
Преобразует представление BigInteger в формате знак-величина в объект BigInteger. |
BigInteger |
Преобразует представление BigInteger в формате знак-величина в объект BigInteger. |
BigInteger |
Создаёт случайный положительный BigInteger, вероятно являющийся простым числом, с заданной длиной в битах. |
BigInteger |
Создаёт случайный BigInteger, равномерно распределённый в диапазоне от 0 до (2 numBits - 1) включительно. |
BigInteger |
Преобразует десятичное строковое представление BigInteger в объект BigInteger. |
BigInteger |
Преобразует строковое представление BigInteger в указанной системе счисления в объект BigInteger. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
BigInteger |
abs() |
Возвращает BigInteger, значение которого равно абсолютному значению этого BigInteger. |
BigInteger |
add |
Возвращает BigInteger, значение которого равно (this + val). |
BigInteger |
and |
Возвращает BigInteger, значение которого равно (this & val). |
BigInteger |
andNot |
Возвращает BigInteger, значение которого равно (this & ~val). |
int |
bitCount() |
Возвращает количество бит в представлении этого BigInteger в дополнении до двух, отличающихся от его знака. |
int |
bitLength() |
Возвращает количество бит в минимальном представлении этого BigInteger в дополнении до двух, исключая бит знака. |
byte |
byteValueExact() |
Преобразует этот BigInteger в byte, проверяя потерю информации. |
BigInteger |
clearBit |
Возвращает BigInteger, значение которого эквивалентно этому BigInteger с очищенным указанным битом. |
int |
compareTo |
Сравнивает этот BigInteger с указанным BigInteger. |
BigInteger |
divide |
Возвращает BigInteger, значение которого равно (this / val). |
BigInteger[] |
divideAndRemainder |
Возвращает массив из двух BigInteger, содержащий (this / val) и (this % val). |
double |
doubleValue() |
Преобразует этот BigInteger в double. |
boolean |
equals |
Сравнивает этот BigInteger с указанным объектом на равенство. |
BigInteger |
flipBit |
Возвращает BigInteger, значение которого эквивалентно этому BigInteger с инвертированным указанным битом. |
float |
floatValue() |
Преобразует этот BigInteger в float. |
BigInteger |
gcd |
Возвращает BigInteger, значение которого является наибольшим общим делителем abs(this) и abs(val). |
int |
getLowestSetBit() |
Возвращает индекс правого (самого младшего) бита единицы в этом BigInteger (количество нулевых бит справа от правого бита единицы). |
int |
hashCode() |
Возвращает хэш-код для этого BigInteger. |
int |
intValue() |
Преобразует этот BigInteger в int. |
int |
intValueExact() |
Преобразует этот BigInteger в int, проверяя потерю информации. |
boolean |
isProbablePrime |
Возвращает true, если этот BigInteger, вероятно, является простым числом, false, если он определенно составной. |
long |
longValue() |
Преобразует этот BigInteger в long. |
long |
longValueExact() |
Преобразует этот BigInteger в long, проверяя потерю информации. |
BigInteger |
max |
Возвращает максимум этого BigInteger и val. |
BigInteger |
min |
Возвращает минимум этого BigInteger и val. |
BigInteger |
mod |
Возвращает BigInteger, значение которого равно (this mod m). |
BigInteger |
modInverse |
Возвращает BigInteger, значение которого равно (this-1 mod m). |
BigInteger |
modPow |
Возвращает BigInteger, значение которого равно (thisexponent mod m). |
BigInteger |
multiply |
Возвращает BigInteger, значение которого равно (this * val). |
BigInteger |
negate() |
Возвращает BigInteger, значение которого равно (-this). |
BigInteger |
nextProbablePrime() |
Возвращает первое целое число, большее, чем это BigInteger, которое, вероятно, является простым. |
BigInteger |
not() |
Возвращает BigInteger, значение которого равно (~this). |
BigInteger |
or |
Возвращает BigInteger, значение которого равно (this | val). |
BigInteger |
pow |
Возвращает BigInteger, значение которого равно (thisexponent). |
static BigInteger |
probablePrime |
Возвращает положительный BigInteger, который, вероятно, является простым, с заданной длиной в битах. |
BigInteger |
remainder |
Возвращает BigInteger, значение которого равно (this % val). |
BigInteger |
setBit |
Возвращает BigInteger, значение которого эквивалентно этому BigInteger с заданным установленным битом. |
BigInteger |
shiftLeft |
Возвращает BigInteger, значение которого равно (this << n). |
BigInteger |
shiftRight |
Возвращает BigInteger, значение которого равно (this >> n). |
short |
shortValueExact() |
Преобразует этот BigInteger в short, проверяя потерю информации. |
int |
signum() |
Возвращает функцию signum этого BigInteger. |
BigInteger |
sqrt() |
Возвращает целую квадратную корень из этого BigInteger. |
BigInteger[] |
sqrtAndRemainder() |
Возвращает массив из двух BigInteger, содержащий целую квадратную корень s от this и его остаток this - s*s, соответственно. |
BigInteger |
subtract |
Возвращает BigInteger, значение которого равно (this - val). |
boolean |
testBit |
Возвращает true только в том случае, если заданный бит установлен. |
byte[] |
toByteArray() |
Возвращает массив байтов, содержащий представление этого BigInteger в дополнении до двух. |
String |
toString() |
Возвращает десятичное строковое представление этого BigInteger. |
String |
toString |
Возвращает строковое представление этого BigInteger в заданном основании. |
static BigInteger |
valueOf |
Возвращает BigInteger, значение которого равно значению указанного long. |
BigInteger |
xor |
Возвращает BigInteger, значение которого равно (this ^ val). |
Методы, объявленные в классе java.lang.Number
byteValue, shortValue
Подробное описание полей
ZERO
public static final BigInteger ZERO
- С тех пор:
- 1.2
ONE
public static final BigInteger ONE
- С тех пор:
- 1.2
TWO
public static final BigInteger TWO
- С тех пор:
- 9
TEN
public static final BigInteger TEN
- С тех пор:
- 1.5
Подробное описание конструкторов
BigInteger
public BigInteger(byte[] val, int off, int len)
off. Предполагается, что массив val не изменяется в течение вызова конструктора. Бросается IndexOutOfBoundsException, если длина массива val равна нулю, либо off отрицательно, len отрицательно, или off+len больше длины val.- Параметры:
-
val- массив байтов, содержащий подмассив, представляющий собой двоичное представление числа BigInteger в дополнительном коде с основой два в порядке big-endian. -
off- начальное смещение двоичного представления. -
len- количество байтов для использования. - Исключения:
-
NumberFormatException- если длина массиваvalравна нулю байт. -
IndexOutOfBoundsException- если предоставленное смещение и длина массива вызывают индекс, который отрицательный или больше или равен длине массива. - С тех пор:
- 9
BigInteger
public BigInteger(byte[] val)
val не изменяется в течение вызова конструктора.- Параметры:
-
val- двоичное представление числа BigInteger в дополнительном коде с основой два в порядке big-endian. - Исключения:
-
NumberFormatException- если длина массиваvalравна нулю байт.
BigInteger
public BigInteger(int signum, byte[] magnitude, int off, int len)
off. Значение длины len может быть равно нулю, что приведет к значению BigInteger равного 0, независимо от значения signum ( -1, 0 или 1). Предполагается, что массив magnitude не изменяется в течение вызова конструктора. Бросается IndexOutOfBoundsException, если длина массива magnitude отлична от нуля и либо off отрицательно, len отрицательно, или off+len больше длины magnitude.- Параметры:
-
signum- signum числа (-1 для отрицательного, 0 для нуля, 1 для положительного). -
magnitude- двоичное представление абсолютной величины числа в порядке big-endian. -
off- начальное смещение двоичного представления. -
len- количество байтов для использования. - Исключения:
-
NumberFormatException- еслиsignumне равно одному из трех допустимых значений (-1, 0 и 1), илиsignumравно 0, иmagnitudeсодержит один или несколько ненулевых байтов. -
IndexOutOfBoundsException- если предоставленное смещение и длина массива вызывают индекс, который отрицательный или больше или равен длине массива. - С тех пор:
- 9
BigInteger
public BigInteger(int signum, byte[] magnitude)
magnitude предполагается неизменным на протяжении вызова конструктора.- Parameters:
-
signum- знак числа (-1 для отрицательного, 0 для нулевого, 1 для положительного). -
magnitude- представление в формате big-endian двоичного модуля числа. - Throws:
-
NumberFormatException-signumне равно одному из трех допустимых значений (-1, 0 и 1) илиsignumравно 0, аmagnitudeсодержит один или несколько ненулевых байтов.
BigInteger
public BigInteger(String val, int radix)
Character.digit. Строка не должна содержать лишних символов (например, пробелов).- Parameters:
-
val- строковое представление целого числа BigInteger. -
radix- радикс, используемый при интерпретацииval. - Throws:
-
NumberFormatException-valне является корректным представлением целого числа BigInteger в заданном радиксе илиradixнаходится вне диапазона отCharacter.MIN_RADIXдоCharacter.MAX_RADIXвключительно.
BigInteger
public BigInteger(String val)
Character.digit. Строка не должна содержать лишних символов (например, пробелов).- Parameters:
-
val- десятичное строковое представление целого числа BigInteger. - Throws:
-
NumberFormatException-valне является корректным представлением целого числа BigInteger.
BigInteger
public BigInteger(int numBits, Random rnd)
numBits - 1) включительно. Равномерность распределения предполагает, что в rnd предоставлен честный источник случайных бит. Обратите внимание, что этот конструктор всегда создаёт неотрицательное целое число BigInteger.- Parameters:
-
numBits- максимальная длина в битах нового целого числа BigInteger. -
rnd- источник случайности, используемый для вычисления нового целого числа BigInteger. - Throws:
-
IllegalArgumentException-numBitsотрицательно. - See Also:
BigInteger
public BigInteger(int bitLength, int certainty, Random rnd)
- API Note:
- Рекомендуется использовать метод
probablePrimeвместо этого конструктора, если нет особой необходимости указать определённую достоверность. - Parameters:
-
bitLength- длина в битах возвращаемого целого числа BigInteger. -
certainty- мера неопределённости, которую вызывающий код готов принять. Вероятность того, что новое целое число BigInteger представляет простое число, превысит (1 - 1/2certainty). Время выполнения этого конструктора пропорционально значению этого параметра. -
rnd- источник случайных бит, используемых для выбора кандидатов, которые будут проверены на простоту. - Throws:
-
ArithmeticException-bitLength < 2илиbitLengthслишком велики. - See Also:
Методы
probablePrime
public static BigInteger probablePrime(int bitLength, Random rnd)
- Parameters:
-
bitLength- длина в битах возвращаемого BigInteger. -
rnd- источник случайных битов, используемых для выбора кандидатов, которые будут проверяться на простоту. - Returns:
- BigInteger из
bitLengthбитов, который, вероятно, является простым числом - Throws:
-
ArithmeticException-bitLength < 2илиbitLengthслишком велики. - Since:
- 1.4
- See Also:
nextProbablePrime
public BigInteger nextProbablePrime()
BigInteger, которое, вероятно, является простым. Вероятность того, что число, возвращаемое этим методом, является составным, не превышает 2-100. Этот метод никогда не пропустит простое число при поиске: если он возвращает p, нет простого числа q, такого что this < q < p.- Returns:
- первое целое число, большее этого
BigInteger, которое, вероятно, является простым числом. - Throws:
-
ArithmeticException-this < 0илиthisслишком велики. - Since:
- 1.5
valueOf
public static BigInteger valueOf(long val)
long.- API Note:
- Этот статический фабричный метод предоставляется в предпочтительном порядке по сравнению с конструктором (
long) , так как он позволяет повторно использовать часто используемые BigInteger. - Parameters:
-
val- значение возвращаемого BigInteger. - Returns:
- BigInteger со значением, указанным в параметре.
add
public BigInteger add(BigInteger val)
(this + val).- Parameters:
-
val- значение, которое нужно добавить к этому BigInteger. - Returns:
this + val
subtract
public BigInteger subtract(BigInteger val)
(this - val).- Parameters:
-
val- значение, которое нужно вычесть из этого BigInteger. - Returns:
this - val
multiply
public BigInteger multiply(BigInteger val)
(this * val).- Implementation Note:
- Реализация может предложить лучшую алгоритмическую производительность, когда
val == this. - Parameters:
-
val- значение, на которое нужно умножить этот BigInteger. - Returns:
this * val
divide
public BigInteger divide(BigInteger val)
(this / val).- Parameters:
-
val- значение, на которое нужно разделить этот BigInteger. - Returns:
this / val- Throws:
-
ArithmeticException- еслиvalравно нулю.
divideAndRemainder
public BigInteger[] divideAndRemainder(BigInteger val)
(this / val) за которым следует (this % val).- Parameters:
-
val- значение, на которое нужно разделить этот BigInteger, и вычислить остаток. - Returns:
- массив из двух BigInteger: частное
(this / val)является начальным элементом, а остаток(this % val)является конечным элементом. - Throws:
-
ArithmeticException- еслиvalравно нулю.
remainder
public BigInteger remainder(BigInteger val)
(this % val).- Parameters:
-
val- значение, на которое нужно разделить этот BigInteger, и вычислить остаток. - Returns:
this % val- Throws:
-
ArithmeticException- еслиvalравно нулю.
pow
public BigInteger pow(int exponent)
(thisexponent). Обратите внимание, что exponent является целым числом, а не BigInteger.- Параметры:
-
exponent- показатель степени, к которому должен быть возведён этот BigInteger. - Возвращает:
thisexponent- Исключения:
-
ArithmeticException-exponentотрицательно. (Это приведет к тому, что операция вернёт не целое значение.)
sqrt
public BigInteger sqrt()
n является наибольшим математическим целым числом s таким, что s*s <= n. Она равна значению floor(sqrt(n)), где sqrt(n) обозначает действительный квадратный корень из n, рассматриваемого как вещественное число. Обратите внимание, что целая квадратная корень будет меньше действительного квадратного корня, если последний не может быть представлен как целое значение.- Возвращает:
- целая квадратная корень из
this - Исключения:
-
ArithmeticException- еслиthisотрицательно. (Квадратный корень из отрицательного целого числаvalэто(i * sqrt(-val)), где i — мнимая единица, равнаяsqrt(-1).) - С тех пор:
- 9
sqrtAndRemainder
public BigInteger[] sqrtAndRemainder()
s из this и её остаток this - s*s, соответственно.- Возвращает:
- массив из двух BigInteger с целой квадратной коренью по смещению 0 и остатком по смещению 1
- Исключения:
-
ArithmeticException- еслиthisотрицательно. (Квадратный корень из отрицательного целого числаvalэто(i * sqrt(-val)), где i — мнимая единица, равнаяsqrt(-1).) - С тех пор:
- 9
- См. также:
gcd
public BigInteger gcd(BigInteger val)
abs(this) и abs(val). Возвращает 0, если this == 0 && val == 0. - Параметры:
-
val- значение, с которым необходимо вычислить НОД. - Возвращает:
GCD(abs(this), abs(val))
abs
public BigInteger abs()
- Возвращает:
abs(this)
negate
public BigInteger negate()
(-this).- Возвращает:
-this
signum
public int signum()
- Возвращает:
- -1, 0 или 1 в зависимости от того, является ли значение этого BigInteger отрицательным, нулевым или положительным.
mod
public BigInteger mod(BigInteger m)
(this mod m). Этот метод отличается от remainder тем, что всегда возвращает неотрицательный BigInteger.- Параметры:
-
m- модуль. - Возвращает:
this mod m- Исключения:
-
ArithmeticException-m≤ 0 - См. также:
modPow
public BigInteger modPow(BigInteger exponent, BigInteger m)
(thisexponent mod m). (В отличие от pow, этот метод допускает отрицательные показатели степени.)- Параметры:
-
exponent- показатель степени. -
m- модуль. - Возвращает:
thisexponent mod m- Исключения:
-
ArithmeticException-m≤ 0 или показатель степени отрицательный, и этот BigInteger не взаимно прост сm. - См. также:
modОбратный
public BigInteger modInverse(BigInteger m)
(this-1 mod m).- Parameters:
-
m- модуль. - Returns:
-
this-1mod m. - Throws:
-
ArithmeticException-m≤ 0, или у этого BigInteger нет мультипликативного обратного по модулю m (то есть этот BigInteger не взаимно прост с m).
shiftLeft
public BigInteger shiftLeft(int n)
(this << n). Смещение, n, может быть отрицательным, в этом случае метод выполняет сдвиг вправо. (Вычисляет floor(this * 2n).)- Parameters:
-
n- смещение, в битах. - Returns:
this << n- See Also:
shiftRight
public BigInteger shiftRight(int n)
(this >> n). Выполняется расширение знака. Смещение, n, может быть отрицательным, в этом случае метод выполняет сдвиг влево. (Вычисляет floor(this / 2n).)- Parameters:
-
n- смещение, в битах. - Returns:
this >> n- See Also:
and
public BigInteger and(BigInteger val)
(this & val). (Этот метод возвращает отрицательный BigInteger тогда и только тогда, когда и этот, и val — отрицательные.)- Parameters:
-
val- значение, которое нужно побитово AND'ить с этим BigInteger. - Returns:
this & val
or
public BigInteger or(BigInteger val)
(this | val). (Этот метод возвращает отрицательный BigInteger тогда и только тогда, когда этот или val — отрицательные.)- Parameters:
-
val- значение, которое нужно побитово OR'ить с этим BigInteger. - Returns:
this | val
xor
public BigInteger xor(BigInteger val)
(this ^ val). (Этот метод возвращает отрицательный BigInteger тогда и только тогда, когда ровно один из this и val отрицательны.)- Parameters:
-
val- значение, которое нужно побитово XOR'ить с этим BigInteger. - Returns:
this ^ val
not
public BigInteger not()
(~this). (Этот метод возвращает отрицательное значение тогда и только тогда, когда этот BigInteger неотрицательный.)- Returns:
~this
andNot
public BigInteger andNot(BigInteger val)
(this & ~val). Этот метод, эквивалентный and(val.not()), предоставляется для удобства операций маскирования. (Этот метод возвращает отрицательный BigInteger тогда и только тогда, когда this отрицательный, а val положительный.)- Parameters:
-
val- значение, которое нужно дополнить и побитово AND'ить с этим BigInteger. - Returns:
this & ~val
testBit
public boolean testBit(int n)
true тогда и только тогда, когда заданный бит установлен. (Вычисляет ((this & (1<<n)) != 0).)- Parameters:
-
n- индекс бита для проверки. - Returns:
-
trueтогда и только тогда, когда заданный бит установлен. - Throws:
-
ArithmeticException-nотрицательный.
setBit
public BigInteger setBit(int n)
(this | (1<<n)).)- Parameters:
-
n- индекс бита для установки. - Returns:
this | (1<<n)- Throws:
-
ArithmeticException-nотрицательный.
clearBit
public BigInteger clearBit(int n)
(this & ~(1<<n)).)- Parameters:
-
n- индекс бита для очистки. - Returns:
this & ~(1<<n)- Throws:
-
ArithmeticException-nотрицательный.
flipBit
public BigInteger flipBit(int n)
(this ^ (1<<n)).)- Parameters:
-
n- индекс бита для переключения. - Returns:
this ^ (1<<n)- Throws:
-
ArithmeticException-nотрицательное.
getLowestSetBit
public int getLowestSetBit()
(this == 0? -1 : log2(this & -this)).)- Returns:
- индекс самого правого бита 1 в этом BigInteger.
bitLength
public int bitLength()
0. (Вычисляет (ceil(log2(this < 0 ? -this : this+1))).)- Returns:
- количество битов в минимальном представлении этого BigInteger в дополнительном коде к двум, исключая бит знака.
bitCount
public int bitCount()
- Returns:
- количество битов в представлении этого BigInteger в дополнительном коде к двум, которые отличаются от его бита знака.
isProbablePrime
public boolean isProbablePrime(int certainty)
true если этот BigInteger, вероятно, является простым, false если он определённо составной. Если certainty ≤ 0, возвращается true.- Parameters:
-
certainty- мера неопределённости, которую вызывающий готов терпеть: если вызов возвращаетtrueвероятность того, что этот BigInteger является простым, превышает (1 - 1/2certainty). Время выполнения этого метода пропорционально значению этого параметра. - Returns:
-
trueесли этот BigInteger, вероятно, является простым,falseесли он определённо составной.
compareTo
public int compareTo(BigInteger val)
(x.compareTo(y) <op> 0), где <op> — один из шести операторов сравнения.- Specified by:
-
compareToв интерфейсеComparable<BigInteger> - Parameters:
-
val- BigInteger, с которым необходимо сравнить этот BigInteger. - Returns:
- -1, 0 или 1, в зависимости от того, является ли этот BigInteger численно меньше, равен или больше
val.
equals
public boolean equals(Object x)
- Overrides:
-
equalsв классеObject - Parameters:
-
x- Объект, с которым необходимо сравнить этот BigInteger. - Returns:
-
trueтогда и только тогда, когда указанный объект является BigInteger, значение которого численно равно этому BigInteger. - See Also:
min
public BigInteger min(BigInteger val)
val.- Parameters:
-
val- значение, с которым вычисляется минимум. - Returns:
- BigInteger, значение которого является меньшим из этого BigInteger и
val. Если они равны, может быть возвращено любое из них.
max
public BigInteger max(BigInteger val)
val.- Parameters:
-
val- значение, с которым вычисляется максимум. - Returns:
- BigInteger, значение которого является большим из этого и
val. Если они равны, может быть возвращено любое из них.
hashCode
public int hashCode()
- Overrides:
-
hashCodein classObject - Returns:
- код хэша для этого BigInteger.
- See Also:
toString
public String toString(int radix)
Character.MIN_RADIX до Character.MAX_RADIX включительно, он будет по умолчанию равен 10 (как и в случае с Integer.toString). Используется отображение цифр в символы, предоставляемое Character.forDigit, и, при необходимости, префикс минуса. (Это представление совместимо с конструктором (String,
int).)- Parameters:
-
radix- радикс строкового представления. - Returns:
- строковое представление этого BigInteger в заданном радиксе.
- See Also:
toString
public String toString()
Character.forDigit, и, при необходимости, префикс минуса. (Это представление совместимо с конструктором (String) и позволяет использовать оператор конкатенации строк Java +.)- Overrides:
-
toStringin classObject - Returns:
- десятичное строковое представление этого BigInteger.
- See Also:
toByteArray
public byte[] toByteArray()
(ceil((this.bitLength() +
1)/8)). (Это представление совместимо с конструктором (byte[]).)- Returns:
- массив байтов, содержащий представление этого BigInteger в дополнительном коде.
- See Also:
intValue
public int intValue()
int. Это преобразование аналогично преобразованию примитивного типа сужения от long до int, как определено в Спецификации языка Java: если этот BigInteger слишком большой для размещения в int, возвращаются только младшие 32 бита. Обратите внимание, что это преобразование может привести к потере информации о целом значении величины BigInteger, а также вернуть результат с обратным знаком.- Specified by:
-
intValuein classNumber - Returns:
- этот BigInteger, преобразованный в
int. - See Java Language Specification:
- 5.1.3 Narrowing Primitive Conversion
- See Also:
longValue
public long longValue()
long. Это преобразование аналогично преобразованию примитивного типа сужения от long до int, как определено в Спецификации языка Java: если этот BigInteger слишком большой для размещения в long, возвращаются только младшие 64 бита. Обратите внимание, что это преобразование может привести к потере информации о целом значении величины BigInteger, а также вернуть результат с обратным знаком.- Specified by:
-
longValuein classNumber - Returns:
- этот BigInteger, преобразованный в
long. - See Java Language Specification:
- 5.1.3 Narrowing Primitive Conversion
- See Also:
floatValue
public float floatValue()
float. Это преобразование аналогично преобразованию примитивного типа сужения от double к float, как определено в Спецификации языка Java: если у этого BigInteger слишком большой порядок величины для представления в виде float, он будет преобразован в Float.NEGATIVE_INFINITY или Float.POSITIVE_INFINITY соответственно. Обратите внимание, что даже когда возвращаемое значение конечно, это преобразование может потерять информацию о точности значения BigInteger.- Указано:
-
floatValueв классеNumber - Возвращает:
- этот BigInteger, преобразованный в
float. - См. Спецификацию языка Java:
- 5.1.3 Преобразование сужения примитивного типа
doubleValue
public double doubleValue()
double. Это преобразование аналогично преобразованию примитивного типа сужения от double к float, как определено в Спецификации языка Java: если у этого BigInteger слишком большой порядок величины для представления в виде double, он будет преобразован в Double.NEGATIVE_INFINITY или Double.POSITIVE_INFINITY соответственно. Обратите внимание, что даже когда возвращаемое значение конечно, это преобразование может потерять информацию о точности значения BigInteger.- Указано:
-
doubleValueв классеNumber - Возвращает:
- этот BigInteger, преобразованный в
double. - См. Спецификацию языка Java:
- 5.1.3 Преобразование сужения примитивного типа
longValueExact
public long longValueExact()
BigInteger в long, проверяя потерю информации. Если значение этого BigInteger выходит за пределы диапазона типа long, то генерируется ArithmeticException. - Возвращает:
- этот
BigIntegerпреобразованный вlong. - Выбрасывает:
-
ArithmeticException- если значениеthisне поместится точно вlong. - С:
- 1.8
- См. также:
intValueExact
public int intValueExact()
BigInteger в int, проверяя потерю информации. Если значение этого BigInteger выходит за пределы диапазона типа int, то генерируется ArithmeticException. - Возвращает:
- этот
BigIntegerпреобразованный вint. - Выбрасывает:
-
ArithmeticException- если значениеthisне поместится точно вint. - С:
- 1.8
- См. также:
shortValueExact
public short shortValueExact()
BigInteger в short, проверяя потерю информации. Если значение этого BigInteger выходит за пределы диапазона типа short, то генерируется ArithmeticException. - Возвращает:
- этот
BigIntegerпреобразованный вshort. - Выбрасывает:
-
ArithmeticException- если значениеthisне поместится точно вshort. - С:
- 1.8
- См. также:
byteValueExact
public byte byteValueExact()
BigInteger в byte, проверяя потерю информации. Если значение этого BigInteger выходит за пределы диапазона типа byte, то генерируется ArithmeticException. - Возвращает:
- этот
BigIntegerпреобразованный вbyte. - Выбрасывает:
-
ArithmeticException- если значениеthisне поместится точно вbyte. - С:
- 1.8
- См. также:
© 1993, 2021, 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.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/math/BigInteger.html