Класс 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 до (2 |
BigInteger(String val) Преобразует десятичное строковое представление BigInteger в BigInteger. |
BigInteger(String val,
int radix) Преобразует строковое представление BigInteger в указанной системе счисления в BigInteger. |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
BigInteger |
abs() Возвращает BigInteger, значение которого равно абсолютной величине этого BigInteger. |
BigInteger |
add(BigInteger val) Возвращает BigInteger, значение которого равно |
BigInteger |
and(BigInteger val) Возвращает BigInteger, значение которого равно |
BigInteger |
andNot(BigInteger val) Возвращает число битов в представлении этого BigInteger в дополнительном коде, отличающихся от знакового бита. |
int |
bitCount() Возвращает количество битов в минимальном представлении этого BigInteger в дополнительном коде, исключая знаковый бит. |
int |
bitLength() Преобразует этот |
byte |
byteValueExact() Преобразует этот |
BigInteger |
clearBit(int n) Возвращает BigInteger, значение которого эквивалентно этому BigInteger со сброшенным указанным битом. |
int |
compareTo(BigInteger val) Сравнивает этот BigInteger с указанным BigInteger. |
BigInteger |
divide(BigInteger val) Возвращает BigInteger, значение которого равно |
BigInteger[] |
divideAndRemainder(BigInteger val) Возвращает массив из двух BigInteger, содержащий |
double |
doubleValue() Преобразует этот BigInteger в |
boolean |
equals(Object x) Сравнивает этот BigInteger с указанным объектом Object на равенство. |
BigInteger |
flipBit(int n) Возвращает BigInteger, значение которого эквивалентно этому BigInteger с переключенным указанным битом. |
float |
floatValue() Преобразует этот BigInteger в |
BigInteger |
gcd(BigInteger val) Возвращает BigInteger, значение которого равно наибольшему общему делителю |
int |
getLowestSetBit() Возвращает индекс самого правого (самого младшего) бита 1 в этом BigInteger (количество нулевых битов справа от самого правого бита 1). |
int |
hashCode() Возвращает код хэша для этого BigInteger. |
int |
intValue() Преобразует этот BigInteger в |
int |
intValueExact() Преобразует этот |
boolean |
isProbablePrime(int certainty) Возвращает |
long |
longValue() Преобразует этот BigInteger в |
long |
longValueExact() Преобразует этот |
BigInteger |
max(BigInteger val) Возвращает максимальное значение из этого BigInteger и |
BigInteger |
min(BigInteger val) Возвращает минимальное значение из этого BigInteger и |
BigInteger |
mod(BigInteger m) Возвращает BigInteger, значение которого равно |
BigInteger |
modInverse(BigInteger m) Возвращает BigInteger, значение которого равно |
BigInteger |
modPow(BigInteger exponent,
BigInteger m) Возвращает BigInteger, значение которого равно |
BigInteger |
multiply(BigInteger val) Возвращает BigInteger, значение которого равно |
BigInteger |
negate() Возвращает BigInteger, значение которого равно |
BigInteger |
nextProbablePrime() Возвращает первое целое число, большее этого |
BigInteger |
not() Возвращает BigInteger, значение которого равно |
BigInteger |
or(BigInteger val) Возвращает BigInteger, значение которого равно |
BigInteger |
pow(int exponent) Возвращает BigInteger, значение которого равно |
static BigInteger |
probablePrime(int bitLength,
Random rnd) Возвращает положительный BigInteger, который, вероятно, является простым числом, со значением bitLength. |
BigInteger |
remainder(BigInteger val) Возвращает BigInteger, значение которого равно |
BigInteger |
setBit(int n) Возвращает BigInteger, значение которого эквивалентно этому BigInteger с установленным указанным битом. |
BigInteger |
shiftLeft(int n) Возвращает BigInteger, значение которого равно |
BigInteger |
shiftRight(int n) Возвращает BigInteger, значение которого равно |
short |
shortValueExact() Преобразует этот |
int |
signum() Возвращает функцию знака этого BigInteger. |
BigInteger |
subtract(BigInteger val) Возвращает BigInteger, значение которого равно |
boolean |
testBit(int n) Возвращает |
byte[] |
toByteArray() Возвращает массив байтов, содержащий представление этого BigInteger в дополнительном коде. |
String |
toString() Возвращает строковое представление этого BigInteger в десятичной форме. |
String |
toString(int radix) Возвращает строковое представление этого BigInteger в заданной системе счисления. |
static BigInteger |
valueOf(long val) Возвращает BigInteger, значение которого равно значению указанного |
BigInteger |
xor(BigInteger val) Возвращает BigInteger, значение которого равно |
Методы, унаследованные от класса 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-1mod 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.