BigInteger Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Неизменяемые целые числа произвольной точности.
[Android.Runtime.Register("java/math/BigInteger", DoNotGenerateAcw=true)]
public class BigInteger : Java.Lang.Number, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IComparable
[<Android.Runtime.Register("java/math/BigInteger", DoNotGenerateAcw=true)>]
type BigInteger = class
inherit Number
interface ISerializable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
interface IComparable
- Наследование
- Атрибуты
- Реализации
Комментарии
Неизменяемые целые числа произвольной точности. Все операции ведут себя так, как будто BigIntegers были представлены в двух дополнениях нотации (например, примитивные типы целых чисел Java). BigInteger предоставляет аналоги для всех примитивных целых чисел Java и всех соответствующих методов java.lang.Math. Кроме того, BigInteger предоставляет операции для модульных арифметических, GCD вычислений, первичного тестирования, первичного поколения, битовой манипуляции и нескольких других других операций.
Семантика арифметических операций точно имитирует целые арифметические операторы Java, как определено в спецификации языка Java. Например, деление по нулю вызывает ArithmeticException
и деление отрицательного на положительный результат дает отрицательный (или нулевой) оставшийся элемент.
Семантика операций смещения расширяет те операторы смены Java, чтобы обеспечить отрицательные расстояния сдвигов. Сдвиг вправо с отрицательным расстоянием сдвига приводит к сдвигу влево и наоборот. Оператор без знака вправо (>>>
) опущен, так как эта операция имеет смысл только для слова фиксированного размера, а не для представления, концептуально имеющего бесконечное число ведущих битов виртуальных знаков.
Семантика побитовых логических операций точно имитирует побитовые операторы целочисленного числа Java. Двоичные операторы (and
, or
, xor
) неявно выполняют расширение знака для меньшего числа двух операндов перед выполнением операции.
Операции сравнения выполняют сравнения целых чисел со знаком, аналогичные операциям, выполняемым реляционными и равенством операторов Java.
Модульные арифметические операции предоставляются для вычислительных остатков, экспоненциации и умножения вычислений. Эти методы всегда возвращают не отрицательный результат между 0
и (modulus - 1)
включающими.
Битовые операции работают с одним битом двух дополнений представления операнда. При необходимости операнд расширяется, чтобы он содержал указанный бит. Ни одна из одно битовых операций не может создавать bigInteger с другим знаком, на который выполняется операция BigInteger, так как они влияют только на один бит, и произвольно большая абстракция, предоставляемая этим классом, гарантирует, что концептуально существует бесконечно много "виртуальных битов знака" перед каждым BigInteger.
Для краткости и ясности псевдокод используется во всех описаниях методов BigInteger. Псевдокодовое выражение (i + j)
является коротким для "BigInteger, значение которого является значением BigInteger i
плюс к большому целочислению j
". Выражение (i == j)
псевдокода является коротким для "true
, если и только если bigInteger представляет то же значение, что и BigInteger i
j
". Другие псевдокодовые выражения интерпретируются аналогичным образом.
Все методы и конструкторы в этом классе вызываются NullPointerException
при передаче ссылки на объект NULL для любого входного параметра.
BigInteger должен поддерживать значения в диапазоне -2 sup<Integer.MAX_VALUE
>/sup> (эксклюзивные) до +2<<sup/sup>Integer.MAX_VALUE
<> (эксклюзивные) и могут поддерживать значения за пределами этого диапазона.
Возникает ArithmeticException
, когда конструктор или метод BigInteger создает значение за пределами поддерживаемого диапазона.
Диапазон вероятных прайм-значений ограничен и может быть меньше, чем полный поддерживаемый положительный диапазон BigInteger
. Диапазон должен быть не менее 1 до 2<sup>5000000000</sup>.
Добавлено в версии 1.1.
Документация по Java для java.math.BigInteger
.
Части этой страницы — это изменения на основе работы, созданной и общей проектом с открытым исходным кодом Android и используемой в соответствии с условиями, описанными в лицензии Creative Commons 2.5 Attribution.
Конструкторы
BigInteger(Byte[]) |
Преобразует массив байтов, содержащий двоичное представление bigInteger в bigInteger. |
BigInteger(Byte[], Int32, Int32) |
Преобразует вложенный массив байтов, содержащий двоичное представление bigInteger в bigInteger. |
BigInteger(Int32, Byte[]) |
Преобразует представление величины знака bigInteger в bigInteger в bigInteger. |
BigInteger(Int32, Byte[], Int32, Int32) |
Преобразует представление величины знака bigInteger в bigInteger в bigInteger. |
BigInteger(Int32, Int32, Random) |
Создает случайно созданное положительное число BigInteger, которое, вероятно, является простым, с указанным битомLength. |
BigInteger(Int32, Random) |
Создает случайно созданное BigInteger, равномерно распределенное по диапазону от 0 до (2<sup/sup<> |
BigInteger(IntPtr, JniHandleOwnership) |
Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения. |
BigInteger(String) |
Преобразует десятичное строковое представление bigInteger в bigInteger. |
BigInteger(String, Int32) |
Преобразует строковое представление bigInteger в указанном радиксе в bigInteger. |
Свойства
Class |
Возвращает класс среды выполнения этого |
Handle |
Дескриптор базового экземпляра Android. (Унаследовано от Object) |
JniIdentityHashCode |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
JniPeerMembers |
Неизменяемые целые числа произвольной точности. |
LowestSetBit |
Возвращает индекс самого правого (наименьшего порядка) в этом bigInteger (число нулевых битов справа от самого правого бита). |
One |
Константа BigInteger. |
PeerReference |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
Ten |
Константа BigInteger десять. |
ThresholdClass |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
ThresholdType |
Этот API поддерживает инфраструктуру Mono для Android и не предназначен для использования непосредственно из кода. |
Two |
Константа BigInteger две. |
Zero |
Константа BigInteger ноль. |
Методы
Abs() |
Возвращает bigInteger, значение которого является абсолютным значением этого bigInteger. |
Add(BigInteger) |
Возвращает bigInteger, значение которого равно |
And(BigInteger) |
Возвращает bigInteger, значение которого равно |
AndNot(BigInteger) |
Возвращает bigInteger, значение которого равно |
BitCount() |
Возвращает количество битов в дополнительном представлении этого bigInteger, отличающегося от бита знака. |
BitLength() |
Возвращает количество битов в минимальном двух дополненном представлении этого bigInteger, <em>за исключением< или em> бит знака. |
ByteValue() |
Возвращает значение указанного числа в виде |
ByteValueExact() |
Преобразует это |
ClearBit(Int32) |
Возвращает bigInteger, значение которого эквивалентно этому bigInteger с заданным битом очистки. |
Clone() |
Создает и возвращает копию этого объекта. (Унаследовано от Object) |
CompareTo(BigInteger) |
Сравнивает это bigInteger с указанным числом BigInteger. |
Dispose() |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
Dispose(Boolean) |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
Divide(BigInteger) |
Возвращает bigInteger, значение которого равно |
DivideAndRemainder(BigInteger) |
Возвращает массив двух bigIntegers, за |
DoubleValue() |
Преобразует это bigInteger в значение |
Equals(Object) |
Указывает, равен ли другой объект этому объекту. (Унаследовано от Object) |
FlipBit(Int32) |
Возвращает bigInteger, значение которого эквивалентно этому bigInteger с указанным битом с перевернутыми битами. |
FloatValue() |
Преобразует это bigInteger в значение |
Gcd(BigInteger) |
Возвращает bigInteger, значение которого является самым общим делителем |
GetHashCode() |
Возвращает значение хэш-кода для объекта. (Унаследовано от Object) |
IntValue() |
Преобразует это bigInteger в значение |
IntValueExact() |
Преобразует это |
IsProbablePrime(Int32) |
Возвращает, |
JavaFinalize() |
Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет. (Унаследовано от Object) |
LongValue() |
Преобразует это bigInteger в значение |
LongValueExact() |
Преобразует это |
Max(BigInteger) |
Возвращает максимальное значение этого bigInteger и |
Min(BigInteger) |
Возвращает минимальное значение этого bigInteger и |
Mod(BigInteger) |
Возвращает bigInteger, значение которого равно |
ModInverse(BigInteger) |
Возвращает bigInteger, значение которого — |
ModPow(BigInteger, BigInteger) |
Возвращает bigInteger, значение которого равно |
Multiply(BigInteger) |
Возвращает bigInteger, значение которого равно |
Negate() |
Возвращает bigInteger, значение которого равно |
NextProbablePrime() |
Возвращает первое целое число больше, чем это |
Not() |
Возвращает bigInteger, значение которого равно |
Notify() |
Пробуждение одного потока, ожидающего монитора этого объекта. (Унаследовано от Object) |
NotifyAll() |
Просыпает все потоки, ожидающие монитора этого объекта. (Унаследовано от Object) |
Or(BigInteger) |
Возвращает bigInteger, значение которого равно |
Pow(Int32) |
Возвращает bigInteger, значение которого равно |
ProbablePrime(Int32, Random) |
Возвращает положительное значение BigInteger, которое, вероятно, является простым, с указанным битомLength. |
Remainder(BigInteger) |
Возвращает bigInteger, значение которого равно |
SetBit(Int32) |
Возвращает bigInteger, значение которого эквивалентно этому bigInteger с заданным битом. |
SetHandle(IntPtr, JniHandleOwnership) |
Задает свойство Handle. (Унаследовано от Object) |
ShiftLeft(Int32) |
Возвращает bigInteger, значение которого равно |
ShiftRight(Int32) |
Возвращает bigInteger, значение которого равно |
ShortValue() |
Возвращает значение указанного числа в виде |
ShortValueExact() |
Преобразует это |
Signum() |
Возвращает функцию знака этого bigInteger. |
Sqrt() |
Возвращает целочисленный квадратный корень этого bigInteger. |
SqrtAndRemainder() |
Возвращает массив двух BigIntegers, содержащих целый квадратный корень |
Subtract(BigInteger) |
Возвращает bigInteger, значение которого равно |
TestBit(Int32) |
Возвращает значение |
ToArray<T>() |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
ToByteArray() |
Возвращает массив байтов, содержащий двух дополненное представление этого bigInteger. |
ToString() |
Возвращает строковое представление объекта. (Унаследовано от Object) |
ToString(Int32) |
Возвращает строковое представление этого bigInteger в заданном радиксе. |
UnregisterFromRuntime() |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
ValueOf(Int64) |
Возвращает bigInteger, значение которого равно указанному значению |
Wait() |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>. (Унаследовано от Object) |
Wait(Int64) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Wait(Int64, Int32) |
Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени. (Унаследовано от Object) |
Xor(BigInteger) |
Возвращает bigInteger, значение которого равно |
Явные реализации интерфейса
IComparable.CompareTo(Object) |
Неизменяемые целые числа произвольной точности. |
IJavaPeerable.Disposed() |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
IJavaPeerable.DisposeUnlessReferenced() |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
IJavaPeerable.Finalized() |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
IJavaPeerable.JniManagedPeerState |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
Неизменяемые целые числа произвольной точности. (Унаследовано от Object) |
Методы расширения
JavaCast<TResult>(IJavaObject) |
Выполняет преобразование типа, проверяемого средой выполнения Android. |
JavaCast<TResult>(IJavaObject) |
Неизменяемые целые числа произвольной точности. |
GetJniTypeName(IJavaPeerable) |
Неизменяемые целые числа произвольной точности. |