BigInteger 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
不可变任意精度整数。
[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
负数,正除以负数(或零)余数。
Shift 操作的语义扩展 Java 的移位运算符,以允许负移距离。 右移,负移距离会导致左移,反之亦然。 省略无符号右移运算符(>>>
),因为此操作仅适用于固定大小的单词,而不适用于在概念上具有无限数量的前导虚拟符号位的表示形式。
按位逻辑运算的语义完全模仿 Java 的按位整数运算符的语义。 在执行操作之前,二进制运算符 (and
, or
, xor
) 在两个操作数的较短时间隐式执行签名扩展。
比较运算执行有符号整数比较,类似于 Java 的关系运算符和相等运算符执行的比较。
提供模块化算术运算来计算残留物、执行指数运算和计算乘法反函数。 这些方法始终返回非负结果(介于 0
和 (modulus - 1)
非独占性之间)。
位运算对两个操作数的补全表示形式中的单个位进行操作。 如有必要,操作数会进行签名扩展,使其包含指定的位。 单位操作都无法生成一个 BigInteger,其符号与正在操作的 BigInteger 不同,因为它们只影响一位,此类提供的任意大型抽象可确保从概念上讲,每个 BigInteger 前面都有无限数量的“虚拟签名位”。
为了简洁明了,伪代码在整个 BigInteger 方法的说明中使用。 伪代码表达式是“BigInteger 的简写, (i + j)
其值为 BigInteger i
的值加上 BigInteger j
的值。 如果 BigInteger 表示与 BigInteger j
i
相同的值,则伪代码表达式(i == j)
是简写true
的。 其他伪代码表达式同样被解释。
在传递任何输入参数的 null 对象引用时,此类中的所有方法和构造函数都会引发 NullPointerException
。
BigInteger 必须支持范围 -2<sup/sup><>Integer.MAX_VALUE
(独占)到 +2<sup/sup>Integer.MAX_VALUE
<>(独占)中的值,并且可能支持该范围之外的值。
当 BigInteger 构造函数或方法在受支持的范围之外生成值时,将引发 an ArithmeticException
。
可能的主要值的范围是有限的,并且可能小于完全支持的正范围 BigInteger
。 范围必须至少为 1 到 2<sup>500000000</sup>。
在 1.1 中添加。
适用于 . 的 java.math.BigInteger
Java 文档
本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。
构造函数
BigInteger(Byte[]) |
将包含 BigInteger 的两个补二进制表示形式的字节数组转换为 BigInteger。 |
BigInteger(Byte[], Int32, Int32) |
将包含 BigInteger 的双补二进制表示形式的字节子数组转换为 BigInteger。 |
BigInteger(Int32, Byte[]) |
将 BigInteger 的符号级表示形式转换为 BigInteger。 |
BigInteger(Int32, Byte[], Int32, Int32) |
将 BigInteger 的符号级表示形式转换为 BigInteger。 |
BigInteger(Int32, Int32, Random) |
使用指定的 bitLength 构造随机生成的正 BigInteger,该正数可能为质。 |
BigInteger(Int32, Random) |
构造随机生成的 BigInteger,均匀分布于范围 0 到 (2<sup/sup<> |
BigInteger(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
BigInteger(String) |
将 BigInteger 的十进制字符串表示形式转换为 BigInteger。 |
BigInteger(String, Int32) |
将指定弧度中的 BigInteger 的 String 表示形式转换为 BigInteger。 |
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
不可变任意精度整数。 (继承自 Object) |
JniPeerMembers |
不可变任意精度整数。 |
LowestSetBit |
返回此 BigInteger 中最右边(最低顺序)一位的索引(最右侧一位的零位数)。 |
One |
BigInteger 常量一个。 |
PeerReference |
不可变任意精度整数。 (继承自 Object) |
Ten |
BigInteger 常量十。 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不打算直接从代码使用。 |
Two |
BigInteger 常量二。 |
Zero |
BigInteger 常量零。 |
方法
Abs() |
返回一个 BigInteger,其值为此 BigInteger 的绝对值。 |
Add(BigInteger) |
返回一个 BigInteger,其值为 |
And(BigInteger) |
返回一个 BigInteger,其值为 |
AndNot(BigInteger) |
返回一个 BigInteger,其值为 |
BitCount() |
返回这两个 BigInteger 的补数表示形式中与符号位不同的位数。 |
BitLength() |
返回此 BigInteger<>(不包括</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) |
如果这个 BigInteger 可能是黄金,如果它绝对是复合的, |
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,该正数可能是质数,具有指定的 bitLength。 |
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> 或 <em>interrupted</em>。<>< (继承自 Object) |
Wait(Int64) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</em>>,或直到经过一定数量的实时。 (继承自 Object) |
Wait(Int64, Int32) |
使当前线程等待直到唤醒,通常是通过 <em>通知</em> 或 <em interrupted</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) |
不可变任意精度整数。 |