다음을 통해 공유


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의 정수 산술 연산자의 의미 체계를 정확히 모방합니다. 예를 들어 0 ArithmeticException으로 나누면 음수가 throw되고 음수가 양수로 나누면 나머지가 음수(또는 0)로 생성됩니다.

시프트 작업의 의미 체계는 음의 시프트 거리를 허용하도록 Java의 시프트 연산자의 의미 체계를 확장합니다. 음수 시프트 거리가 있는 오른쪽 시프트는 왼쪽 시프트가 발생하며 그 반대의 경우도 마찬가지입니다. 부호 없는 오른쪽 시프트 연산자(>>>)는 생략됩니다. 이 작업은 개념적으로 무한 수의 선행 가상 부호 비트가 있는 표현이 아니라 고정된 크기의 단어에만 적합하기 때문에 생략됩니다.

비트 논리 연산의 의미 체계는 Java의 비트 정수 연산자의 의미 체계와 정확히 비슷합니다. 이진 연산자(and, or, xor)는 작업을 수행하기 전에 두 피연산자의 짧은 부분에 기호 확장을 암시적으로 수행합니다.

비교 작업은 Java의 관계형 및 같음 연산자가 수행하는 것과 유사하게 부가적인 정수 비교를 수행합니다.

모듈식 산술 연산은 잔류물을 계산하고, 지수를 수행하고, 곱하기 역을 계산하기 위해 제공됩니다. 이러한 메서드는 항상 음수가 아닌 결과를 포함 및 사이 0(modulus - 1)반환합니다.

비트 연산은 피연산자의 두 가지 보수 표현의 단일 비트에서 작동합니다. 필요한 경우 피연산자는 지정된 비트를 포함하도록 기호 확장됩니다. 단일 비트 연산은 단일 비트에만 영향을 주므로 작동 중인 BigInteger와 다른 기호를 사용하여 BigInteger를 생성할 수 없으며, 이 클래스에서 제공하는 임의로 큰 추상화는 개념적으로 각 BigInteger 앞에 무한히 많은 "가상 부호 비트"가 있음을 보장합니다.

간결성과 명확성을 위해 의사 코드는 BigInteger 메서드에 대한 설명 전체에서 사용됩니다. 의사 코드 식 (i + j) 은 "BigInteger 값이 BigInteger의 값과 BigInteger의 값인 BigInteger ij"의 약어입니다. 의사 코드 식 (i == j) 은 BigInteger가 BigInteger ij와 동일한 값을 나타내는 경우에만 "true에 대한 약식입니다." 다른 의사 코드 식도 비슷하게 해석됩니다.

이 클래스의 모든 메서드 및 생성자는 입력 매개 변수에 대한 null 개체 참조를 전달할 때 throw NullPointerException 됩니다.

BigInteger는 -2 sup/supInteger.MAX_VALUE<>>(배타적)에서 +2<<supInteger.MAX_VALUE></sup>(배타적) 범위의 값을 지원해야 하며 해당 범위를 벗어난 값을 지원할 수 있습니다.

ArithmeticException BigInteger 생성자 또는 메서드가 지원되는 범위를 벗어난 값을 생성할 때 throw됩니다.

가능한 소수 값의 범위는 제한되며 지원되는 전체 양수 범위 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)

0에서 (2<sup<>numBits/sup> - 1) 범위로 균일하게 분산된 임의로 생성된 BigInteger를 생성합니다.

BigInteger(IntPtr, JniHandleOwnership)

JNI 개체의 관리되는 표현을 만들 때 사용되는 생성자입니다. 런타임에서 호출합니다.

BigInteger(String)

BigInteger의 10진수 문자열 표현을 BigInteger로 변환합니다.

BigInteger(String, Int32)

지정된 반지름에 있는 BigInteger의 문자열 표현을 BigInteger로 변환합니다.

속성

Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
JniIdentityHashCode

변경할 수 없는 임의 정밀도 정수입니다.

(다음에서 상속됨 Object)
JniPeerMembers

변경할 수 없는 임의 정밀도 정수입니다.

LowestSetBit

이 BigInteger에서 가장 오른쪽(가장 낮은 순서) 1비트의 인덱스를 반환합니다(가장 오른쪽 1비트 오른쪽에 있는 0비트 수).

One

BigInteger 상수 1입니다.

PeerReference

변경할 수 없는 임의 정밀도 정수입니다.

(다음에서 상속됨 Object)
Ten

BigInteger 상수 10입니다.

ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

Two

BigInteger 상수 2입니다.

Zero

BigInteger 상수 0입니다.

메서드

Abs()

값이 이 BigInteger의 절대값인 BigInteger를 반환합니다.

Add(BigInteger)

값이 .인 BigInteger를 반환합니다 (this + val).

And(BigInteger)

값이 .인 BigInteger를 반환합니다 (this & val).

AndNot(BigInteger)

값이 .인 BigInteger를 반환합니다 (this & ~val).

BitCount()

부호 비트와 다른 이 BigInteger의 두 부호 표현에 있는 비트 수를 반환합니다.

BitLength()

이 BigInteger<>의 최소 2개 보수 표현에서 비트 수를 반환합니다( 부호 비트 제외</em>).

ByteValue()

지정된 숫자의 값을 .로 byte반환합니다.

(다음에서 상속됨 Number)
ByteValueExact()

손실된 정보를 검사하여 이를 BigInteger byte/0>로 변환합니다.

ClearBit(Int32)

지정된 비트가 지워진 이 BigInteger와 동일한 값의 BigInteger를 반환합니다.

Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
CompareTo(BigInteger)

이 BigInteger를 지정된 BigInteger와 비교합니다.

Dispose()

변경할 수 없는 임의 정밀도 정수입니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

변경할 수 없는 임의 정밀도 정수입니다.

(다음에서 상속됨 Object)
Divide(BigInteger)

값이 .인 BigInteger를 반환합니다 (this / val).

DivideAndRemainder(BigInteger)

뒤에 다음(this % val)이 포함된 두 BigIntegers의 배열을 (this / val) 반환합니다.

DoubleValue()

이 BigInteger를 .로 double변환합니다.

Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
FlipBit(Int32)

지정된 비트가 대칭 이동된 이 BigInteger 값과 동일한 BigInteger를 반환합니다.

FloatValue()

이 BigInteger를 .로 float변환합니다.

Gcd(BigInteger)

값이 가장 큰 공통 수 abs(this) 수인 BigInteger를 반환합니다 abs(val).

GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
IntValue()

이 BigInteger를 .로 int변환합니다.

IntValueExact()

손실된 정보를 검사하여 int이를 BigInteger 변환합니다.

IsProbablePrime(Int32)

이 BigInteger가 확실히 복합적인 경우 이 BigInteger가 소수 false 인지를 반환 true 합니다.

JavaFinalize()

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
LongValue()

이 BigInteger를 .로 long변환합니다.

LongValueExact()

손실된 정보를 검사하여 이를 BigInteger long/0>로 변환합니다.

Max(BigInteger)

이 BigInteger 및 .의 최대값을 반환합니다 val.

Min(BigInteger)

이 BigInteger 및 .의 최소값을 반환합니다 val.

Mod(BigInteger)

(this mod m이 )인 BigInteger를 반환합니다.

ModInverse(BigInteger)

값이 sup-1/sup인 (this<BigInteger를 반환합니다>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)

지정된 bitLength를 사용하여 소수인 양의 BigInteger를 반환합니다.

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/0>로 변환합니다.

Signum()

이 BigInteger의 signum 함수를 반환합니다.

Sqrt()

이 BigInteger의 정수 제곱근을 반환합니다.

SqrtAndRemainder()

각각 정수 제곱근 s 과 나머지this - s*s를 포함하는 두 BigIntegers의 this 배열을 반환합니다.

Subtract(BigInteger)

값이 .인 BigInteger를 반환합니다 (this - val).

TestBit(Int32)

지정된 비트가 설정된 경우에만 반환 true 합니다.

ToArray<T>()

변경할 수 없는 임의 정밀도 정수입니다.

(다음에서 상속됨 Object)
ToByteArray()

이 BigInteger의 두 가지 보수 표현을 포함하는 바이트 배열을 반환합니다.

ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
ToString(Int32)

지정된 radix에서 이 BigInteger의 String 표현을 반환합니다.

UnregisterFromRuntime()

변경할 수 없는 임의 정밀도 정수입니다.

(다음에서 상속됨 Object)
ValueOf(Int64)

값이 지정된 long값과 같은 BigInteger를 반환합니다.

Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받<>거나 <><중단/종료>합니다.>

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 <중단/>종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 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)

변경할 수 없는 임의 정밀도 정수입니다.

적용 대상