내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

BigInteger 구조체

부호 있는 임의의 큰 정수를 나타냅니다.

네임스페이스:  System.Numerics
어셈블리:  System.Numerics(System.Numerics.dll)

[SerializableAttribute]
public struct BigInteger : IFormattable, 
	IComparable, IComparable<BigInteger>, IEquatable<BigInteger>

BigInteger 형식에서는 다음과 같은 멤버를 노출합니다.

  이름설명
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원BigInteger(Byte[])바이트 배열의 값을 사용하여 BigInteger 구조체의 새 인스턴스를 초기화합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원BigInteger(Decimal) Decimal 값을 사용하여 BigInteger 구조체의 새 인스턴스를 초기화합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원BigInteger(Double)배정밀도 부동 소수점 값을 사용하여 BigInteger 구조체의 새 인스턴스를 초기화합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원BigInteger(Int32)부호 있는 32비트 정수 값을 사용하여 BigInteger 구조체의 새 인스턴스를 초기화합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원BigInteger(Int64)부호 있는 64비트 정수 값을 사용하여 BigInteger 구조체의 새 인스턴스를 초기화합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원BigInteger(Single)단정밀도 부동 소수점 값을 사용하여 BigInteger 구조체의 새 인스턴스를 초기화합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원BigInteger(UInt32)부호 없는 32비트 정수 값을 사용하여 BigInteger 구조체의 새 인스턴스를 초기화합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원BigInteger(UInt64)부호 없는 64비트 정수 값을 사용하여 BigInteger 구조체의 새 인스턴스를 초기화합니다.
위쪽

  이름설명
Public 속성이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IsEven현재 BigInteger 개체의 값이 짝수인지 여부를 나타냅니다.
Public 속성이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IsOne현재 BigInteger 개체의 값이 BigInteger.One인지 여부를 나타냅니다.
Public 속성이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IsPowerOfTwo현재 BigInteger 개체의 2의 거듭제곱인지 여부를 나타냅니다.
Public 속성이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IsZero현재 BigInteger 개체의 값이 BigInteger.Zero인지 여부를 나타냅니다.
Public 속성정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원MinusOne숫자 -1을 나타내는 값을 가져옵니다.
Public 속성정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원One숫자 1을 나타내는 값을 가져옵니다.
Public 속성이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Sign현재 BigInteger 개체의 부호(음수, 양수 또는 0)를 나타내는 숫자를 가져옵니다.
Public 속성정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Zero숫자 0을 나타내는 값을 가져옵니다.
위쪽

  이름설명
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Abs BigInteger 개체의 절대 값을 가져옵니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Add두 개의 BigInteger 값을 더한 다음 결과를 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CompareBigInteger 값을 비교하고 첫 번째 값이 두 번째 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CompareTo(BigInteger)이 인스턴스를 두 번째 BigInteger와 비교하고 이 인스턴스의 값이 지정된 개체의 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CompareTo(Int64)이 인스턴스를 부호 있는 64비트 정수와 비교하고 이 인스턴스의 값이 부호 있는 64비트 정수 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.
Public 메서드CompareTo(Object)이 인스턴스를 지정된 개체와 비교하고 이 인스턴스의 값이 지정된 개체의 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원CompareTo(UInt64)이 인스턴스를 부호 없는 64비트 정수와 비교하고 이 인스턴스의 값이 부호 없는 64비트 정수 값보다 작은지, 같은지 또는 큰지를 나타내는 정수를 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Divide하나의 BigInteger 값을 다른 값으로 나눈 후 결과를 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원DivRem하나의 BigInteger 값을 다른 값으로 나눈 후 결과를 반환하고 출력 매개 변수에 나머지를 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(BigInteger)현재 인스턴스와 지정된 BigInteger 개체의 값이 같은지 여부를 나타내는 값을 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(Int64)현재 인스턴스와 부호 있는 64비트 정수의 값이 같은지 여부를 나타내는 값을 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(Object)현재 인스턴스와 지정된 개체의 값이 같은지 여부를 나타내는 값을 반환합니다. (ValueType.Equals(Object)을(를) 재정의함)
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equals(UInt64)현재 인스턴스와 부호 없는 64비트 정수의 값이 같은지 여부를 나타내는 값을 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GetHashCode현재 BigInteger 개체에 대한 해시 코드를 반환합니다. (ValueType.GetHashCode()을(를) 재정의함)
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GetType현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨)
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreatestCommonDivisorBigInteger 값의 최대 공약수를 구합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Log(BigInteger)지정된 숫자의 자연(밑 e) 로그를 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Log(BigInteger, Double)지정된 밑을 사용하여 지정된 숫자의 로그를 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Log10밑을 10으로 사용하여 지정된 숫자의 로그를 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원MaxBigInteger 값 중 더 큰 값을 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원MinBigInteger 값 중 더 작은 값을 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ModPow다른 숫자의 승수로 거듭제곱한 숫자에 대해 모듈러스 나누기를 수행합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원MultiplyBigInteger 값의 곱을 반환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Negate지정된 BigInteger 값을 부정합니다.
Public 메서드정적 멤버Windows 스토어 앱용 .NET에서 지원Parse(String)숫자의 문자열 표현을 해당하는 BigInteger로 변환합니다.
Public 메서드정적 멤버Windows 스토어 앱용 .NET에서 지원Parse(String, NumberStyles)숫자를 지정된 스타일로 나타낸 문자열 표현을 해당 BigInteger로 변환합니다.
Public 메서드정적 멤버Windows 스토어 앱용 .NET에서 지원Parse(String, IFormatProvider)숫자를 지정된 문화권별 형식으로 나타낸 문자열 표현을 해당 BigInteger로 변환합니다.
Public 메서드정적 멤버Windows 스토어 앱용 .NET에서 지원Parse(String, NumberStyles, IFormatProvider)지정된 스타일 및 문화권별 형식으로 된 숫자의 문자열 표현을 해당하는 BigInteger로 변환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Pow BigInteger 값을 지정된 값의 거듭제곱으로 변환합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원RemainderBigInteger 값에 대해 정수 나누기를 수행합니다.
Public 메서드정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Subtract다른 값에서 하나의 BigInteger 값을 뺀 결과를 반환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToByteArray BigInteger 값을 바이트 배열로 변환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToString()현재 BigInteger 개체의 숫자 값을 해당하는 문자열 표현으로 변환합니다. (ValueType.ToString()을(를) 재정의함)
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToString(IFormatProvider)지정된 문화권별 서식 지정 정보를 사용하여 현재 BigInteger 개체의 숫자 값을 해당 문자열 표현으로 변환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToString(String)지정된 서식을 사용하여 현재 BigInteger 개체의 숫자 값을 해당하는 문자열 표현으로 변환합니다.
Public 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ToString(String, IFormatProvider)지정된 서식 및 문화권별 서식 정보를 사용하여 현재 BigInteger 개체의 숫자 값을 해당 문자열 표현으로 변환합니다.
Public 메서드정적 멤버Windows 스토어 앱용 .NET에서 지원TryParse(String, BigInteger)숫자의 문자열 표현을 해당 BigInteger로 변환하고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다.
Public 메서드정적 멤버Windows 스토어 앱용 .NET에서 지원TryParse(String, NumberStyles, IFormatProvider, BigInteger)지정된 문화권별 형식과 지정된 스타일을 사용한 숫자의 문자열 표현을 해당 BigInteger로 변환해 보고, 변환에 성공했는지 여부를 나타내는 값을 반환합니다.
위쪽

  이름설명
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Addition지정한 두 BigInteger의 값을 더합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원BitwiseAndBigInteger 값에 대해 비트 And 연산을 수행합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원BitwiseOrBigInteger 값에 대해 비트 Or 연산을 수행합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Decrement BigInteger 값을 1씩 감소합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Division정수 나누기를 사용하여 지정된 BigInteger 값을 지정된 다른 BigInteger 값으로 나눕니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equality(BigInteger, Int64) BigInteger 값과 부호 있는 정수(Long) 값이 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equality(BigInteger, BigInteger)BigInteger 개체의 값이 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equality(BigInteger, UInt64) BigInteger 값과 부호 없는 정수(Long) 값이 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equality(Int64, BigInteger)부호 있는 정수(Long) 값과 BigInteger 값이 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Equality(UInt64, BigInteger)부호 없는 정수(Long) 값과 BigInteger 값이 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원ExclusiveOrBigInteger 값에 대해 비트 배타적 Or(XOr) 연산을 수행합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to Int32) BigInteger 개체를 부호 있는 32비트 정수 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to Decimal) BigInteger 개체를 Decimal 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to Int16) BigInteger 개체를 부호 있는 16비트 정수 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to SByte) BigInteger 개체를 부호 있는 8비트 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to UInt16) BigInteger 개체를 부호 없는 16비트 정수 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to UInt32) BigInteger 개체를 부호 없는 32비트 정수 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to Int64) BigInteger 개체를 부호 있는 64비트 정수 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to Single) BigInteger 개체를 단정밀도 부동 소수점 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to Double) BigInteger 개체를 Double 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to UInt64) BigInteger 개체를 부호 없는 64비트 정수 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(BigInteger to Byte) BigInteger 개체를 부호 없는 바이트 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(Decimal to BigInteger) Decimal 개체를 BigInteger 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(Double to BigInteger) Double 값을 BigInteger 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Explicit(Single to BigInteger) Single 개체를 BigInteger 값으로 변환하는 명시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThan(BigInteger, Int64) BigInteger 가 부호 있는 64 정수 값보다 큰지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThan(BigInteger, BigInteger) BigInteger 값이 다른 BigInteger 값보다 큰지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThan(BigInteger, UInt64) BigInteger 값이 부호 없는 64비트 정수보다 큰지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThan(Int64, BigInteger)부호 있는 64비트 정수가 BigInteger 값보다 큰지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThan(UInt64, BigInteger) BigInteger 값이 부호 없는 64비트 정수보다 큰지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThanOrEqual(BigInteger, Int64) BigInteger 값이 부호 있는 64비트 정수 값보다 크거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThanOrEqual(BigInteger, BigInteger) BigInteger 값이 다른 BigInteger 값보다 크거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThanOrEqual(BigInteger, UInt64) BigInteger 값이 부호 없는 64비트 정수 값보다 크거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThanOrEqual(Int64, BigInteger)부호 있는 64비트 정수가 BigInteger 값보다 크거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원GreaterThanOrEqual(UInt64, BigInteger)부호 없는 64비트 정수가 BigInteger 값보다 크거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Implicit(Byte to BigInteger)부호 없는 바이트를 BigInteger 값으로 변환하는 암시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Implicit(Int16 to BigInteger)부호 있는 16비트 정수를 BigInteger 값으로 변환하는 암시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Implicit(Int32 to BigInteger)부호 있는 32비트 정수를 BigInteger 값으로 변환하는 암시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Implicit(Int64 to BigInteger)부호 있는 64비트 정수를 BigInteger 값으로 변환하는 암시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Implicit(SByte to BigInteger)부호 있는 8비트 정수를 BigInteger 값으로 변환하는 암시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Implicit(UInt16 to BigInteger)부호 없는 16비트 정수를 BigInteger 값으로 변환하는 암시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Implicit(UInt32 to BigInteger)부호 없는 32비트 정수를 BigInteger 값으로 변환하는 암시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Implicit(UInt64 to BigInteger)부호 없는 64비트 정수를 BigInteger 값으로 변환하는 암시적 변환을 정의합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Increment BigInteger 값을 1씩 증가합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Inequality(BigInteger, Int64) BigInteger 값과 부호 있는 64비트 정수가 다른지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Inequality(BigInteger, BigInteger)BigInteger 개체의 값이 다른지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Inequality(BigInteger, UInt64) BigInteger 값과 부호 없는 64비트 정수가 다른지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Inequality(Int64, BigInteger)부호 있는 64비트 정수와 BigInteger 값이 다른지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Inequality(UInt64, BigInteger)부호 없는 64비트 정수와 BigInteger 값이 다른지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LeftShift BigInteger 값을 지정된 비트 수만큼 왼쪽으로 이동합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThan(BigInteger, Int64) BigInteger 값이 부호 있는 64비트 정수보다 작은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThan(BigInteger, BigInteger) BigInteger 값이 다른 BigInteger 값보다 작은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThan(BigInteger, UInt64) BigInteger 값이 부호 없는 64비트 정수보다 작은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThan(Int64, BigInteger)부호 있는 64비트 정수가 BigInteger 값보다 작은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThan(UInt64, BigInteger)부호 없는 64비트 정수가 BigInteger 값보다 작은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThanOrEqual(BigInteger, Int64) BigInteger 값이 부호 있는 64비트 정수보다 작거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThanOrEqual(BigInteger, BigInteger) BigInteger 값이 다른 BigInteger 값보다 작거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThanOrEqual(BigInteger, UInt64) BigInteger 값이 부호 없는 64비트 정수보다 작거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThanOrEqual(Int64, BigInteger)부호 있는 64비트 정수가 BigInteger 값보다 작거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원LessThanOrEqual(UInt64, BigInteger)부호 없는 64비트 정수가 BigInteger 값보다 작거나 같은지 여부를 나타내는 값을 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Modulus지정된 두 BigInteger 값을 나눈 나머지를 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Multiply지정된 두 BigInteger 값을 곱합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원OnesComplement BigInteger 값에 대한 비트 1의 보수를 반환합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원RightShift BigInteger 값을 지정된 비트 수만큼 오른쪽으로 이동합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원Subtraction다른 BigInteger 값에서 BigInteger 값을 뺍니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원UnaryNegation지정된 BigInteger 값을 부정합니다.
Public 연산자정적 멤버이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원UnaryPlus BigInteger 피연산자의 값을 반환합니다. 피연산자의 부호는 변경되지 않습니다.
위쪽

  이름설명
명시적 인터페이스 구현Private 메서드이식 가능한 클래스 라이브러리에서 지원Windows 스토어 앱용 .NET에서 지원IComparable.CompareTo현재 인스턴스와 동일한 형식의 다른 개체를 비교하고 정렬 순서에서 현재 인스턴스의 위치가 다른 개체보다 앞인지, 뒤인지 또는 동일한지를 나타내는 정수를 반환합니다.
위쪽

BigInteger 형식은 이론적으로 위 또는 아래 경계가 없는 값의 임의의 큰 정수를 나타내는 변경할 수 없는 형식입니다. BigInteger 형식의 멤버는 밀접하게 다른 정수 계열 형식(Byte, Int16, Int32, Int64, SByte, UInt16, UInt32UInt64 형식)의 멤버와 병렬합니다. 이 형식은 MinValueMaxValue 속성이 가리키는 범위를 가지고 있는 .NET Framework의 다른 통합 형식과 다릅니다.

참고참고

BigInteger 형식은 변경가능한 것이므로 (가변성 및 BigInteger 구조 참조), 그리고 상한과 하한이 있기 때문에 OutOfMemoryExceptionBigInteger 값을 너무 크게 만들 수 있는 작업에 throw될 수 있습니다.

BigInteger 개체 인스턴스화

BigInteger 개체는 몇 가지 방법으로 인스턴스화할 수 있습니다.

  • new 키워드를 사용하고, 정수 또는 부동 소수점 값을 BigInteger 생성자에 매개 변수로 제공할 수 있습니다. BigInteger 에 할당되기 전에 부동 소수점 값은 잘립니다. 다음 예제에서는 new 키워드를 이용하여 BigInteger 값을 인스턴스화하는 방법을 보여줍니다.

    
    BigInteger bigIntFromDouble = new BigInteger(179032.6541);
    Console.WriteLine(bigIntFromDouble);
    BigInteger bigIntFromInt64 = new BigInteger(934157136952);
    Console.WriteLine(bigIntFromInt64);
    // The example displays the following output:
    //   179032
    //   934157136952		
    
    
    
  • BigInteger 변수를 선언하고 그 값이 정수 형식인 한, 임의의 숫자 형식과 마찬가지로 할당할 수 있습니다. 다음 예제에서는 Int64로부터 BigInteger 값을 만드는 할당을 사용합니다.

    
    long longValue = 6315489358112;      
    BigInteger assignedFromLong = longValue;
    Console.WriteLine(assignedFromLong);
    // The example displays the following output:
    //   6315489358112
    
    
    
  • 값을 캐스팅하거나 먼저 변환할 경우에는 BigInteger 개체에 소수점이나 부동 소수점을 할당할 수 있습니다. 다음 예제에서는 Double 값을 DecimalBigInteger로 명시적으로 캐스팅(C#)하거나 변환(Visual Basic)합니다.

    
    BigInteger assignedFromDouble = (BigInteger) 179032.6541;
    Console.WriteLine(assignedFromDouble);   
    BigInteger assignedFromDecimal = (BigInteger) 64312.65m;      
    Console.WriteLine(assignedFromDecimal);
    // The example displays the following output:
    //   179032
    //   64312      
    
    
    

이러한 메서드를 사용하면 그 값이 기존 숫자 형식 중 하나의 범위에 속하는 BigInteger 개체를 인스턴스화할 수 있습니다. 그 값이 기존 숫자 형식의 범위를 초과할 수 있는 BigInteger 개체를 다음 세 가지 방법 중 하나로 인스턴스화할 수 있습니다.

  • new 키워드를 사용하고 모든 크기의 바이트 배열을 BigInteger.BigInteger 생성자에 제공할 수 있습니다. 예를 들면 다음과 같습니다.

    
    byte[] byteArray = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0};
    BigInteger newBigInt = new BigInteger(byteArray);
    Console.WriteLine("The value of newBigInt is {0} (or 0x{0:x}).", newBigInt);    
    // The example displays the following output:
    //   The value of newBigInt is 4759477275222530853130 (or 0x102030405060708090a).
    
    
    
  • Parse 또는 TryParse 메서드를 호출하여 숫자의 문자열 표현을 BigInteger로 변환할 수 있습니다. 예를 들면 다음과 같습니다.

    
    string positiveString = "91389681247993671255432112000000";
    string negativeString = "-90315837410896312071002088037140000";
    BigInteger posBigInt = 0;
    BigInteger negBigInt = 0;
    
    try {
       posBigInt = BigInteger.Parse(positiveString);
       Console.WriteLine(posBigInt);
    }
    catch (FormatException)
    {
       Console.WriteLine("Unable to convert the string '{0}' to a BigInteger value.", 
                         positiveString);
    }
    
    if (BigInteger.TryParse(negativeString, out negBigInt))
      Console.WriteLine(negBigInt);
    else
       Console.WriteLine("Unable to convert the string '{0}' to a BigInteger value.", 
                          negativeString);
    
    // The example displays the following output:
    //   9.1389681247993671255432112E+31
    //   -9.0315837410896312071002088037E+34
    
    
    
  • 숫자 식에서 일부 연산을 수행하고 계산된 BigInteger 결과를 반환하는 static(Visual Basic의 Shared) BigInteger 메서드를 호출할 수 있습니다. 다음 예제에서는 Boolean 값 UInt64.MaxValueBigInteger 값들을 부호 없는 정수로 변환합니다.

    
    BigInteger number = BigInteger.Pow(UInt64.MaxValue, 3);
    Console.WriteLine(number);
    // The example displays the following output:
    //    6277101735386680762814942322444851025767571854389858533375
    
    
    

BigInteger 의 초기화되지 않은 값은 Zero입니다.

BigInteger 값에 대한 연산 수행

다른 정수 형식을 사용하는 경우에는 BigInteger 인스턴스를 사용할 수 있습니다. BigInteger 는 사용자가 더하기, 빼기, 나누기, 곱하기, 빼기, 부정 및 단항 부정 같은 기본적인 수학 연산을 수행할 수 있도록 표준 숫자 연산자를 오버로드합니다. 표준 숫자 연산자를 사용하여 두 개의 BigInteger 값을 서로 비교할 수도 있습니다. 다른 정수 계열 형식과 같이, BigInteger 또한 비트 And, Or, XOr, 왼쪽 시프트, 및 오른쪽 시프트 연산자를 지원합니다. 사용자 지정 연산자를 지원하지 않는 언어의 경우에는 BigInteger 구조체가 수학 연산을 수행하기 위해 동일한 메서드를 제공합니다. 이것에는 Add, Divide, Multiply, Negate, Subtract, 및 기타 다수가 포함됩니다.

BigInteger 구조의 많은 멤버들이 다른 정수 계열 형식의 구성원과 직접 상응합니다. 그 외에도, BigInteger는 다음과 같은 멤버를 추가합니다.

  • BigInteger 값의 부호를 나타내는 값을 반환하는 Sign

  • BigInteger 값의 절대값을 반환하는 Abs

  • 나누기 연산의 몫과 나머지를 모두 반환하는 DivRem

  • BigInteger 값의 최대 공약수를 반환하는 GreatestCommonDivisor

대부분의 이러한 추가 멤버는 Math 클래스의 멤버에 해당하며, 기본 숫자 형식과 작업할 수 있는 기능을 제공합니다.

가변성이 및 BigInteger 구조

다음 예제에서는 BigInteger 개체를 인스턴스화한 후 해당 값을 1씩 증가시킵니다.


BigInteger number = BigInteger.Multiply(Int64.MaxValue, 3);
number++;
Console.WriteLine(number);


이 예제에서 기존 개체의 값이 수정되는 것처럼 보일지라도 사실은 그러하지 않습니다. BigInteger 개체는 변경할 수 없습니다. 이는 내부적으로 공용 언어 런타임에 실제로 새 BigInteger 개체가 생성되고 이전 값보다 큰 값을 할당한다는 의미입니다. 새로운 이 개체는 그런 후 호출자에게 반환됩니다.

참고참고

.NET Framework의 다른 숫자 형식도 변경되지 않습니다. 그러나, BigInteger 형식에 위쪽 또는 아래쪽 경계가 없기 때문에 해당 값이 매우 커지고 성능에 측정 가능한 영향을 미칠 수 있습니다.

이 프로세스는 호출자에게 투명하지만 성능 저하를 유발하지는 않습니다. 경우에 따라, 특히 반복되는 작업이 매우 큰 BigInteger 값에 대한 루프를 수행할 때, 해당 성능이 상당히 저하될 수 있습니다. 예를 들어, 다음 예제에서는 작업이 백만번까지 반복적으로 수행되고 작업이 성공적으로 이루어질 때마다 BigInteger 값이 하나씩 증가합니다.


BigInteger number = Int64.MaxValue ^ 5;
int repetitions = 1000000;
// Perform some repetitive operation 1 million times.
for (int ctr = 0; ctr <= repetitions; ctr++)
{
   // Perform some operation. If it fails, exit the loop.
   if (! SomeOperationSucceeds()) break;
   // The following code executes if the operation succeeds.
   number++;
}


이러한 경우에는 모든 중간 할당을 Int32로 수행하여 성능을 향상시킬 수 있습니다. 루프가 끝날 때 변수의 마지막 값은 BigInteger 개체로 할당될 수 있습니다. 다음 예제에서 이에 대해 설명합니다.


BigInteger number = Int64.MaxValue ^ 5;
int repetitions = 1000000;
int actualRepetitions = 0;
// Perform some repetitive operation 1 million times.
for (int ctr = 0; ctr <= repetitions; ctr++)
{
   // Perform some operation. If it fails, exit the loop.
   if (! SomeOperationSucceeds()) break;
   // The following code executes if the operation succeeds.
   actualRepetitions++;
}
number += actualRepetitions;


바이트 배열 및 16진수 문자열 작업

BigInteger 값을 바이트 배열로 변환할 경우, 또는 바이트 배열을 BigInteger 값으로 변환하는 경우, 바이트 순서를 고려해야 합니다. BigInteger 구조는 바이트 배열 형태의 개별 바이트들이 little-endian 순서로 나타날 것이라 예상합니다(즉, 값의 하위 바이트는 높은 순서 바이트 보다 앞에 있습니다). 다음 예제와 같이 ToByteArray 메서드를 호출한 다음 결과 바이트 배열을 BigInteger(Byte[]) 생성자에 전달하여 BigInteger 값을 왕복할 수 있습니다.


BigInteger number = BigInteger.Pow(Int64.MaxValue, 2);     
Console.WriteLine(number);

// Write the BigInteger value to a byte array.
byte[] bytes = number.ToByteArray();

// Display the byte array.
foreach (byte byteValue in bytes)
   Console.Write("0x{0:X2} ", byteValue);
Console.WriteLine();

// Restore the BigInteger value from a Byte array.
BigInteger newNumber = new BigInteger(bytes);
Console.WriteLine(newNumber);
// The example displays the following output:
//    8.5070591730234615847396907784E+37
//    0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0x3F
//    
//    8.5070591730234615847396907784E+37


다른 정수 형식을 나타내는 바이트 배열에서 BigInteger 값을 인스턴스화하기 위해, BitConverter.GetBytes 메서드에 정수 값을 전달한 후 결과 바이트 배열을 BigInteger(Byte[]) 생성자에 전달할 수 있습니다. 다음 예제에서는Int16 값을 나타내는 바이트 배열의 BigInteger 값을 인스턴스화합니다.


short originalValue = 30000;
Console.WriteLine(originalValue);

// Convert the Int16 value to a byte array.
byte[] bytes = BitConverter.GetBytes(originalValue);

// Display the byte array.
foreach (byte byteValue in bytes)
   Console.Write("0x{0} ", byteValue.ToString("X2"));
Console.WriteLine();

// Pass byte array to the BigInteger constructor.
BigInteger number = new BigInteger(bytes);
Console.WriteLine(number);
// The example displays the following output:
//       30000
//       0x30 0x75
//       30000


BigInteger 구조를 2의 보수 표현을 사용하여 음수 값이 저장되어 있는 것으로 가정합니다. BigInteger 구조가 고정되지 않은 길이의 숫자 값으로 나타나므로 BigInteger(Byte[]) 생성자는 항상 배열의 마지막 바이트의 가장 큰 비트를 부호 비트로 해석합니다. BigInteger(Byte[]) 생성자가 양수의 부호 및 크기 표현과 음수의 두 가지 보수 표현을 혼동하지 않도록 방지하려면, 바이트 배열의 마지막 바이트에서 가장 중요한 비트가 일반적으로 설정되는 양수에 값이 0인 추가 바이트가 포함되어야 합니다. 예를 들어, 0xC0 0xBD 0xF0 0xFF는 -1,000,000 또는 4,293,967,296의 little-endian 16진수 표현입니다. 이 배열의 마지막 바이트의 가장 큰 비트가 존재하기 때문에 바이트 배열의 값이 BigInteger(Byte[]) 생성자에 의해- 1,000,000로 해석될 것입니다. 값이 양수인 BigInteger를 인스턴스화하려면 요소가 0xC0 0xBD 0xF0 0xFF 0x00인 바이트 배열을 생성자에 전달해야 합니다. 다음은 이에 대한 예입니다.


int negativeNumber = -1000000;
uint positiveNumber = 4293967296;

byte[] negativeBytes = BitConverter.GetBytes(negativeNumber); 
BigInteger negativeBigInt = new BigInteger(negativeBytes);
Console.WriteLine(negativeBigInt.ToString("N0"));

byte[] tempPosBytes = BitConverter.GetBytes(positiveNumber);
byte[] positiveBytes = new byte[tempPosBytes.Length + 1];
Array.Copy(tempPosBytes, positiveBytes, tempPosBytes.Length);
BigInteger positiveBigInt = new BigInteger(positiveBytes);
Console.WriteLine(positiveBigInt.ToString("N0")); 
// The example displays the following output:
//    -1,000,000
//    4,293,967,296      


양수 값을 사용한 ToByteArray 메서드로 생성된 바이트 배열에는 추가 0 값 바이트가 포함됩니다. 그러므로 BigInteger 구조체는 다음의 예제에서 처럼, 성공적으로 왕복 값을 바이트 배열에 할당한 다음 왕복값을 바이트 배열에서 다시 복원할 수 있습니다.


BigInteger positiveValue = 15777216;
BigInteger negativeValue  = -1000000;

Console.WriteLine("Positive value: " + positiveValue.ToString("N0"));
byte[] bytes = positiveValue.ToByteArray();

foreach (byte byteValue in bytes)
   Console.Write("{0:X2} ", byteValue);
Console.WriteLine();
positiveValue = new BigInteger(bytes);
Console.WriteLine("Restored positive value: " + positiveValue.ToString("N0"));

Console.WriteLine();

Console.WriteLine("Negative value: " + negativeValue.ToString("N0"));
bytes = negativeValue.ToByteArray();
foreach (byte byteValue in bytes)
   Console.Write("{0:X2} ", byteValue);
Console.WriteLine();
negativeValue = new BigInteger(bytes);
Console.WriteLine("Restored negative value: " + negativeValue.ToString("N0"));
// The example displays the following output:
//       Positive value: 15,777,216
//       C0 BD F0 00
//       Restored positive value: 15,777,216
//       
//       Negative value: -1,000,000
//       C0 BD F0
//       Restored negative value: -1,000,000


그러나 개발자에 의해 동적으로 만들어지거나 바이트 배열로 부호 없는 정수를 변환하는 메서드에 의해 반환되는 0 값의 추가 바이트를 바이트 배열에 추가해야 할 수도 있습니다. (예를 들어, BitConverter.GetBytes(UInt16), BitConverter.GetBytes(UInt32), 및 BitConverter.GetBytes(UInt64))

16진수 문자열을 구문 분석할 때에는 BigInteger.Parse(String, NumberStyles)BigInteger.Parse(String, NumberStyles, IFormatProvider) 메서드는 문자열 첫 번째 바이트에서 가장 중요한 비트가 설정되어 있는 경우, 또는 문자열의 첫 번째 16진수 숫자가 바이트 값의 하위 비트 네 개를 나타내는 경우, 값이 두 개의 보수 표현을 사용하여 나타나는 것으로 가정합니다. 예를 들어, "FF01"과 "F01"은 모두 10진수 -255를 나타냅니다. 양수를 음수 값과 구분하려면 양수 값 앞에 0이 포함되어야 합니다. ToString 메서드의 관련 오버로드를 "X" 형식 문자열로 전달하면 반환된 16진수 문자열로 양수 값의 앞에 0을 추가합니다. 이로 인해 다음 예제에 제시된 것처럼 ToStringParse 메서드를 사용하여 BigInteger 값을 왕복할 수 있게 됩니다.


BigInteger negativeNumber = -1000000;
BigInteger positiveNumber  = 15777216;

string negativeHex = negativeNumber.ToString("X");
string positiveHex = positiveNumber.ToString("X");

BigInteger negativeNumber2, positiveNumber2;  
negativeNumber2 = BigInteger.Parse(negativeHex, 
                                   NumberStyles.HexNumber);
positiveNumber2 = BigInteger.Parse(positiveHex,
                                   NumberStyles.HexNumber);

Console.WriteLine("Converted {0:N0} to {1} back to {2:N0}.", 
                   negativeNumber, negativeHex, negativeNumber2);                                         
Console.WriteLine("Converted {0:N0} to {1} back to {2:N0}.", 
                   positiveNumber, positiveHex, positiveNumber2);                                         
// The example displays the following output:
//       Converted -1,000,000 to F0BDC0 back to -1,000,000.
//       Converted 15,777,216 to 0F0BDC0 back to 15,777,216.


그러나 다른 정수 형식의 ToString 메서드 또는 toBase 매개 변수를 포함하는 ToString 메세드의 오버로드를 호출하여 만들어진 16진수 문자열은 값의 부호 또는 16진수 문자열이 파생된 소스 데이터 타입을 나타내지는 않습니다. 그러한 문자열에서 BigInteger 값을 성공적으로 인스턴스화하려면 몇 가지 추가 논리가 필요합니다. 다음 예제에서는 가능한 한 가지 구현을 제공합니다.


using System;
using System.Globalization;
using System.Numerics;

public struct HexValue
{
   public int Sign;
   public string Value;
}

public class Example
{
   public static void Main()
   {
      uint positiveNumber = 4039543321;
      int negativeNumber = -255423975;

      // Convert the numbers to hex strings.
      HexValue hexValue1, hexValue2;
      hexValue1.Value = positiveNumber.ToString("X");
      hexValue1.Sign = Math.Sign(positiveNumber);

      hexValue2.Value = Convert.ToString(negativeNumber, 16);
      hexValue2.Sign = Math.Sign(negativeNumber);

      // Round-trip the hexadecimal values to BigInteger values.
      string hexString;
      BigInteger positiveBigInt, negativeBigInt;

      hexString = (hexValue1.Sign == 1 ? "0" : "") + hexValue1.Value;
      positiveBigInt = BigInteger.Parse(hexString, NumberStyles.HexNumber);      
      Console.WriteLine("Converted {0} to {1} and back to {2}.", 
                        positiveNumber, hexValue1.Value, positiveBigInt);

      hexString = (hexValue2.Sign == 1 ? "0" : "") + hexValue2.Value;
      negativeBigInt = BigInteger.Parse(hexString, NumberStyles.HexNumber);      
      Console.WriteLine("Converted {0} to {1} and back to {2}.", 
                        negativeNumber, hexValue2.Value, negativeBigInt);
   }
}
// The example displays the following output:
//       Converted 4039543321 to F0C68A19 and back to 4039543321.
//       Converted -255423975 to f0c68a19 and back to -255423975.


.NET Framework

4.5.2, 4.5.1, 4.5, 4에서 지원

.NET Framework Client Profile

4에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

커뮤니티 추가 항목

추가
표시:
© 2015 Microsoft