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 ji 相同的值,则伪代码表达式(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.BigIntegerJava 文档
本页的某些部分是根据 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) |
不可变任意精度整数。 |