Поделиться через


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
Наследование
BigInteger
Атрибуты
Реализации

Комментарии

Неизменяемые целые числа произвольной точности. Все операции ведут себя так, как будто 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 ij". Другие псевдокодовые выражения интерпретируются аналогичным образом.

Все методы и конструкторы в этом классе вызываются 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<>numBits> - 1), включительно.

BigInteger(IntPtr, JniHandleOwnership)

Конструктор, используемый при создании управляемых представлений объектов JNI; вызывается средой выполнения.

BigInteger(String)

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

BigInteger(String, Int32)

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

Свойства

Class

Возвращает класс среды выполнения этого Objectобъекта.

(Унаследовано от Object)
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, значение которого равно (this + val).

And(BigInteger)

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

AndNot(BigInteger)

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

BitCount()

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

BitLength()

Возвращает количество битов в минимальном двух дополненном представлении этого bigInteger, <em>за исключением< или em> бит знака.

ByteValue()

Возвращает значение указанного числа в виде byte.

(Унаследовано от Number)
ByteValueExact()

Преобразует это BigInteger в значение , проверяя наличие потерянных сведений byte.

ClearBit(Int32)

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

Clone()

Создает и возвращает копию этого объекта.

(Унаследовано от Object)
CompareTo(BigInteger)

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

Dispose()

Неизменяемые целые числа произвольной точности.

(Унаследовано от Object)
Dispose(Boolean)

Неизменяемые целые числа произвольной точности.

(Унаследовано от Object)
Divide(BigInteger)

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

DivideAndRemainder(BigInteger)

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

DoubleValue()

Преобразует это bigInteger в значение double.

Equals(Object)

Указывает, равен ли другой объект этому объекту.

(Унаследовано от Object)
FlipBit(Int32)

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

FloatValue()

Преобразует это bigInteger в значение float.

Gcd(BigInteger)

Возвращает bigInteger, значение которого является самым общим делителем abs(this) и abs(val).

GetHashCode()

Возвращает значение хэш-кода для объекта.

(Унаследовано от Object)
IntValue()

Преобразует это bigInteger в значение int.

IntValueExact()

Преобразует это BigInteger в проверку потерянных сведений int.

IsProbablePrime(Int32)

Возвращает, true если это bigInteger, вероятно, простой, false если он определенно составной.

JavaFinalize()

Вызывается сборщиком мусора в объекте, когда сборка мусора определяет, что больше ссылок на объект нет.

(Унаследовано от Object)
LongValue()

Преобразует это bigInteger в значение long.

LongValueExact()

Преобразует это BigInteger в значение , проверяя наличие потерянных сведений long.

Max(BigInteger)

Возвращает максимальное значение этого bigInteger и val.

Min(BigInteger)

Возвращает минимальное значение этого bigInteger и val.

Mod(BigInteger)

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

ModInverse(BigInteger)

Возвращает bigInteger, значение которого — (thissup-1<>/sup>mod m).<

ModPow(BigInteger, BigInteger)

Возвращает bigInteger, значение которого равно (this<sup>exponent</sup> mod m).

Multiply(BigInteger)

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

Negate()

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

NextProbablePrime()

Возвращает первое целое число больше, чем это BigInteger , вероятно, просто.

Not()

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

Notify()

Пробуждение одного потока, ожидающего монитора этого объекта.

(Унаследовано от Object)
NotifyAll()

Просыпает все потоки, ожидающие монитора этого объекта.

(Унаследовано от Object)
Or(BigInteger)

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

Pow(Int32)

Возвращает bigInteger, значение которого равно (this<sup>exponent</sup>).

ProbablePrime(Int32, Random)

Возвращает положительное значение BigInteger, которое, вероятно, является простым, с указанным битомLength.

Remainder(BigInteger)

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

SetBit(Int32)

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

SetHandle(IntPtr, JniHandleOwnership)

Задает свойство Handle.

(Унаследовано от Object)
ShiftLeft(Int32)

Возвращает bigInteger, значение которого равно (this << n).

ShiftRight(Int32)

Возвращает bigInteger, значение которого равно (this >> n).

ShortValue()

Возвращает значение указанного числа в виде short.

(Унаследовано от Number)
ShortValueExact()

Преобразует это BigInteger в значение , проверяя наличие потерянных сведений short.

Signum()

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

Sqrt()

Возвращает целочисленный квадратный корень этого bigInteger.

SqrtAndRemainder()

Возвращает массив двух BigIntegers, содержащих целый квадратный корень sthis и его оставшуюся this - s*sчасть соответственно.

Subtract(BigInteger)

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

TestBit(Int32)

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

ToArray<T>()

Неизменяемые целые числа произвольной точности.

(Унаследовано от Object)
ToByteArray()

Возвращает массив байтов, содержащий двух дополненное представление этого bigInteger.

ToString()

Возвращает строковое представление объекта.

(Унаследовано от Object)
ToString(Int32)

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

UnregisterFromRuntime()

Неизменяемые целые числа произвольной точности.

(Унаследовано от Object)
ValueOf(Int64)

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

Wait()

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>помощи уведомления</em> или <эм>прерванного</em>.

(Унаследовано от Object)
Wait(Int64)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Wait(Int64, Int32)

Приводит к тому, что текущий поток будет ждать, пока он не проснется, как правило, при <>получении уведомления</>em или <>эм прервано< или> до тех пор, пока не истекло определенное количество реального времени.

(Унаследовано от Object)
Xor(BigInteger)

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

Явные реализации интерфейса

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)

Неизменяемые целые числа произвольной точности.

Применяется к