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 语言规范中定义。 例如,除以 0 会 ArithmeticException
引发 ,而将 负除以正会产生负 (或零) 余数。
移位操作的语义扩展了 Java 的移位运算符的语义,允许负移距离。 带负移距的右移会导致左移,反之亦然。 省略) (>>>
无符号右移运算符,因为此操作仅适用于固定大小的单词,而不适用于概念上具有无限数量的前导虚拟符号位的表示形式。
按位逻辑运算的语义完全模仿 Java 的按位整数运算符的语义。 二元运算符 (and
、 or
、 xor
) 在执行运算之前,对两个操作数的较短部分隐式执行符号扩展。
比较运算执行带符号整数比较,类似于 Java 的关系运算符和相等运算符执行的比较。
提供模块化算术运算来计算残差、执行指数和计算乘法反函数。 这些方法始终返回非负结果,介于 和 (modulus - 1)
之间0
(包括 )。
位运算对其操作数的两者补补表示形式中的一位操作。 如有必要,操作数是符号扩展的,以便包含指定的位。 任何单位操作都不能生成具有与正在操作的 BigInteger 不同的符号的 BigInteger,因为它们只影响单个位,此类提供的任意大抽象可确保在概念上每个 BigInteger 前面有无限多的“虚拟符号位”。
为了简洁明了,BigInteger 方法的整个说明都使用伪代码。 伪代码表达式 (i + j)
是“BigInteger 的缩写,其值为 BigInteger i
的值加上 BigInteger j
的值。 伪代码表达式 (i == j)
是“true
当且仅当 BigInteger i
表示与 BigInteger j
相同的值时”的简写形式。 其他伪代码表达式的解释方式类似。
为任何输入参数传递 null 对象引用时,此类中的所有方法和构造函数都会引发 NullPointerException
。
BigInteger 必须支持范围 -2<sup/supInteger.MAX_VALUE
><> (独占) 为 +2<supInteger.MAX_VALUE
></sup> 的值 (独占) ,并且可能支持该范围以外的值。
ArithmeticException
当 BigInteger 构造函数或方法生成超出支持范围的值时,将引发 。
可能质值的范围有限,可能小于 支持的完整正范围 BigInteger
。 范围必须至少为 1 到 2<sup>500000000</sup>。
在 1.1 中添加。
的 java.math.BigInteger
Java 文档。
此页面的部分内容是基于 创建和共享的工作进行的修改,并根据 署名许可中所述的术语使用。
构造函数
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<> |
BigInteger(IntPtr, JniHandleOwnership) |
创建 JNI 对象的托管表示形式时使用的构造函数;由运行时调用。 |
BigInteger(String) |
将 BigInteger 的十进制字符串表示形式转换为 BigInteger。 |
BigInteger(String, Int32) |
将指定基数中 BigInteger 的字符串表示形式转换为 BigInteger。 |
属性
Class |
返回此 |
Handle |
基础 Android 实例的句柄。 (继承自 Object) |
JniIdentityHashCode |
不可变的任意精度整数。 (继承自 Object) |
JniPeerMembers |
不可变的任意精度整数。 |
LowestSetBit |
返回此 BigInteger 中最右边 (最低位) 一位的索引, (最右边一位) 的零位数。 |
One |
BigInteger 常量 1。 |
PeerReference |
不可变的任意精度整数。 (继承自 Object) |
Ten |
BigInteger 常量十。 |
ThresholdClass |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 |
ThresholdType |
此 API 支持 Mono for Android 基础结构,不应直接从代码中使用。 |
Two |
BigInteger 常量 2。 |
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,该值可能是质数,具有指定的 bitLength。 |
Remainder(BigInteger) |
返回一个 BigInteger,其值为 |
SetBit(Int32) |
返回一个 BigInteger,其值与具有指定位集的 BigInteger 等效。 |
SetHandle(IntPtr, JniHandleOwnership) |
设置 Handle 属性。 (继承自 Object) |
ShiftLeft(Int32) |
返回一个 BigInteger,其值为 |
ShiftRight(Int32) |
返回一个 BigInteger,其值为 |
ShortValue() |
以 的形式 |
ShortValueExact() |
将此 |
Signum() |
返回此 BigInteger 的 signum 函数。 |
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) |
不可变的任意精度整数。 |