BigInteger Struktur

Definition

Stellt eine beliebig große ganze Zahl mit Vorzeichen dar.

public value class BigInteger : IComparable, IComparable<System::Numerics::BigInteger>, IEquatable<System::Numerics::BigInteger>, IFormattable
public value class BigInteger : IComparable, IComparable<System::Numerics::BigInteger>, IEquatable<System::Numerics::BigInteger>, ISpanFormattable
public struct BigInteger : IComparable, IComparable<System.Numerics.BigInteger>, IEquatable<System.Numerics.BigInteger>, IFormattable
public readonly struct BigInteger : IComparable, IComparable<System.Numerics.BigInteger>, IEquatable<System.Numerics.BigInteger>, IFormattable
public readonly struct BigInteger : IComparable, IComparable<System.Numerics.BigInteger>, IEquatable<System.Numerics.BigInteger>, ISpanFormattable
[System.Serializable]
public struct BigInteger : IComparable, IComparable<System.Numerics.BigInteger>, IEquatable<System.Numerics.BigInteger>, IFormattable
type BigInteger = struct
    interface IFormattable
type BigInteger = struct
    interface ISpanFormattable
    interface IFormattable
type BigInteger = struct
    interface IFormattable
    interface ISpanFormattable
[<System.Serializable>]
type BigInteger = struct
    interface IFormattable
Public Structure BigInteger
Implements IComparable, IComparable(Of BigInteger), IEquatable(Of BigInteger), IFormattable
Public Structure BigInteger
Implements IComparable, IComparable(Of BigInteger), IEquatable(Of BigInteger), ISpanFormattable
Vererbung
BigInteger
Attribute
Implementiert

Hinweise

Der BigInteger Typ ist ein unveränderlicher Typ, der eine beliebig große ganze Zahl darstellt, deren Wert in der Theorie keine oberen oder unteren Grenzen aufweist. Die Elemente des BigInteger Typs parallel zu anderen integralen Typen (die Byte, SByteInt16Int64UInt16Int32UInt32und UInt64 Typen). Dieser Typ unterscheidet sich von den anderen integralen Typen in der .NET Framework, die einen Bereich aufweisen, der durch ihre MinValue und MaxValue eigenschaften gekennzeichnet ist.

Hinweis

Da der BigInteger Typ unveränderlich ist (siehe Mutability und die BigInteger-Struktur) und weil er keine oberen oder unteren Grenzen aufweist, kann eine OutOfMemoryException Aktion ausgelöst werden, die zu BigInteger groß wird.

Instanziieren eines BigInteger-Objekts

Sie können ein BigInteger Objekt auf verschiedene Arten instanziieren:

  • Sie können das new Schlüsselwort verwenden und einen beliebigen integralen oder Gleitkommawert als Parameter für den BigInteger Konstruktor bereitstellen. (Gleitkommawerte werden abgeschnitten, bevor sie der BigInteger.) Im folgenden Beispiel wird veranschaulicht, wie Das new Schlüsselwort zum Instanziieren BigInteger von Werten verwendet wird.

    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
    
    Dim bigIntFromDouble As New BigInteger(179032.6541)
    Console.WriteLine(bigIntFromDouble)
    Dim bigIntFromInt64 As New BigInteger(934157136952)
    Console.WriteLine(bigIntFromInt64)
    ' The example displays the following output:
    '   179032
    '   934157136952
    
  • Sie können eine BigInteger Variable deklarieren und einen Wert wie jeden numerischen Typ zuweisen, solange dieser Wert ein integraler Typ ist. Im folgenden Beispiel wird eine Zuordnung verwendet, um einen BigInteger Wert aus einem .Int64

    long longValue = 6315489358112;
    BigInteger assignedFromLong = longValue;
    Console.WriteLine(assignedFromLong);
    // The example displays the following output:
    //   6315489358112
    
    Dim longValue As Long = 6315489358112      
    Dim assignedFromLong As BigInteger = longValue
    Console.WriteLine(assignedFromLong)
    ' The example displays the following output:
    '   6315489358112
    
  • Sie können einem BigInteger Objekt einen Dezimal- oder Gleitkommawert zuweisen, wenn Sie den Wert umwandeln oder zuerst konvertieren. Im folgenden Beispiel werden (in C#) explizit umgewandelt oder (in Visual Basic) ein Double und ein Decimal Wert in einen BigIntegerWert konvertiert.

    BigInteger assignedFromDouble = (BigInteger) 179032.6541;
    Console.WriteLine(assignedFromDouble);
    BigInteger assignedFromDecimal = (BigInteger) 64312.65m;
    Console.WriteLine(assignedFromDecimal);
    // The example displays the following output:
    //   179032
    //   64312
    
    Dim assignedFromDouble As BigInteger = CType(179032.6541, BigInteger)
    Console.WriteLine(assignedFromDouble)   
    Dim assignedFromDecimal As BigInteger = CType(64312.65d, BigInteger)      
    Console.WriteLine(assignedFromDecimal)
    ' The example displays the following output:
    '   179032
    '   64312
    

Mit diesen Methoden können Sie ein BigInteger Objekt instanziieren, dessen Wert sich nur im Bereich eines der vorhandenen numerischen Typen befindet. Sie können ein BigInteger Objekt instanziieren, dessen Wert den Bereich der vorhandenen numerischen Typen auf eine von drei Arten überschreiten kann:

  • Sie können das new Schlüsselwort verwenden und ein Bytearray einer beliebigen Größe für den BigInteger.BigInteger Konstruktor bereitstellen. Beispiel:

    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).
    
    Dim byteArray() As Byte = { 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0}
    Dim newBigInt As 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).
    
  • Sie können die Parse Methoden TryParse aufrufen, um die Zeichenfolgendarstellung einer Zahl in eine BigIntegerzu konvertieren. Beispiel:

    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
    
    Dim positiveString As String = "91389681247993671255432112000000"
    Dim negativeString As string = "-90315837410896312071002088037140000"
    Dim posBigInt As BigInteger = 0
    Dim negBigInt As BigInteger = 0
    
    Try
       posBigInt = BigInteger.Parse(positiveString)
       Console.WriteLine(posBigInt)
    Catch e As FormatException
       Console.WriteLine("Unable to convert the string '{0}' to a BigInteger value.", _
                         positiveString)
    End Try
    
    If BigInteger.TryParse(negativeString, negBigInt) Then
      Console.WriteLine(negBigInt)
    Else
       Console.WriteLine("Unable to convert the string '{0}' to a BigInteger value.", _
                          negativeString)
    End If         
    ' The example displays the following output:
    '   9.1389681247993671255432112E+31
    '   -9.0315837410896312071002088037E+34
    
  • Sie können eine static (Shared in Visual Basic) BigInteger Methode aufrufen, die einen Vorgang für einen numerischen Ausdruck ausführt und ein berechnetes BigInteger Ergebnis zurückgibt. Im folgenden Beispiel wird dies ausgeführt, indem Sie das Ergebnis einer Zuweisen UInt64.MaxValue und Zuweisen des Ergebnisses zu einem BigInteger.

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

Der nicht initialisierte Wert eines BigInteger Werts ist Zero.

Ausführen von Vorgängen für BigInteger-Werte

Sie können eine BigInteger Instanz verwenden, wie Sie einen anderen integralen Typ verwenden würden. BigInteger überlastet die standardmäßigen numerischen Operatoren, damit Sie grundlegende mathematische Vorgänge wie Addition, Subtraktion, Division, Multiplikation, Subtraktion, Negation und unäre Negation ausführen können. Sie können auch die standardmäßigen numerischen Operatoren verwenden, um zwei BigInteger Werte miteinander zu vergleichen. Wie bei den anderen integralen Typen BigInteger werden auch die bitweisen And, Or, XOrlinken Umschalt- und Rechtsverschiebungsoperatoren unterstützt. Für Sprachen, die keine benutzerdefinierten Operatoren unterstützen, stellt die BigInteger Struktur auch entsprechende Methoden zum Ausführen mathematischer Vorgänge bereit. Dazu gehören , Add, Divide, NegateMultiplySubtractund mehrere andere.

Viele Mitglieder der BigInteger Struktur entsprechen direkt mitgliedern der anderen integralen Typen. Darüber hinaus BigInteger werden Elemente wie die folgenden hinzugefügt:

  • Sign, der einen Wert zurückgibt, der das Zeichen eines BigInteger Werts angibt.

  • Abs, der den absoluten Wert eines BigInteger Werts zurückgibt.

  • DivRem, der sowohl den Quotienten als auch den Rest eines Divisionsvorgangs zurückgibt.

  • GreatestCommonDivisor, der den größten gemeinsamen Divisor von zwei BigInteger Werten zurückgibt.

Viele dieser zusätzlichen Member entsprechen den Membern der Math Klasse, die die Funktionalität zum Arbeiten mit den grundtypischen numerischen Typen bereitstellt.

Mutability und die BigInteger-Struktur

Im folgenden Beispiel wird ein BigInteger Objekt instanziiert und anschließend der Wert um eins erhöht.

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

Obwohl in diesem Beispiel der Wert des vorhandenen Objekts geändert wird, ist dies nicht der Fall. BigInteger Objekte sind unveränderlich, was bedeutet, dass die allgemeine Sprachlaufzeit intern ein neues BigInteger Objekt erstellt und ihm einen Wert zuweist, der größer als sein vorheriger Wert ist. Dieses neue Objekt wird dann an den Aufrufer zurückgegeben.

Hinweis

Die anderen numerischen Typen in .NET sind ebenfalls unveränderlich. Da der BigInteger Typ jedoch keine oberen oder unteren Grenzen aufweist, kann seine Werte extrem groß werden und eine messbare Auswirkung auf die Leistung haben.

Obwohl dieser Prozess für den Anrufer transparent ist, tritt eine Leistungsstrafe auf. In einigen Fällen, insbesondere wenn wiederholte Vorgänge in einer Schleife mit sehr großen BigInteger Werten ausgeführt werden, kann diese Leistungsstrafe erheblich sein. Im folgenden Beispiel wird beispielsweise ein Vorgang wiederholt bis zu einer Million Mal ausgeführt, und ein BigInteger Wert wird jedes Mal erhöht, wenn der Vorgang erfolgreich ist.

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++;
}
Dim number As BigInteger = Int64.MaxValue ^ 5
Dim repetitions As Integer = 1000000
' Perform some repetitive operation 1 million times.
For ctr As Integer = 0 To repetitions
   ' Perform some operation. If it fails, exit the loop.
   If Not SomeOperationSucceeds() Then Exit For
   ' The following code executes if the operation succeeds.
   number += 1
Next

In diesem Fall können Sie die Leistung verbessern, indem Sie alle Zwischenzuweisungen einer Int32 Variablen ausführen. Der letzte Wert der Variablen kann dann dem BigInteger Objekt zugewiesen werden, wenn die Schleife beendet wird. Dies wird im folgenden Beispiel veranschaulicht.

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;
Dim number As BigInteger = Int64.MaxValue ^ 5
Dim repetitions As Integer = 1000000
Dim actualRepetitions As Integer = 0
' Perform some repetitive operation 1 million times.
For ctr As Integer = 0 To repetitions
   ' Perform some operation. If it fails, exit the loop.
   If Not SomeOperationSucceeds() Then Exit For
   ' The following code executes if the operation succeeds.
   actualRepetitions += 1
Next
number += actualRepetitions

Arbeiten mit Bytearrays und Hexadezimalzeichenfolgen

Wenn Sie Werte in Bytearrays konvertieren BigInteger oder Bytearrays in BigInteger Werte konvertieren, müssen Sie die Reihenfolge von Bytes berücksichtigen. Die BigInteger Struktur erwartet, dass die einzelnen Bytes in einem Bytearray in kleiner endischer Reihenfolge angezeigt werden (also die untere Reihenfolge der Bytes des Werts vor der höheren Reihenfolge). Sie können einen BigInteger Wert umrunden, indem Sie die ToByteArray Methode aufrufen und dann das resultierende Bytearray an den BigInteger(Byte[]) Konstruktor übergeben, wie das folgende Beispiel zeigt.

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
Dim number As BigInteger = BigInteger.Pow(Int64.MaxValue, 2)     
Console.WriteLine(number)

' Write the BigInteger value to a byte array.
Dim bytes() As Byte = number.ToByteArray()

' Display the byte array.
For Each byteValue As Byte In bytes
   Console.Write("0x{0:X2} ", byteValue)
Next   
Console.WriteLine()

' Restore the BigInteger value from a Byte array.
Dim newNumber As BigInteger = 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

Um einen BigInteger Wert aus einem Bytearray instanziieren zu können, der einen Wert eines anderen integralen Typs darstellt, können Sie den integralen Wert an die BitConverter.GetBytes Methode übergeben und dann das resultierende Bytearray an den BigInteger(Byte[]) Konstruktor übergeben. Im folgenden Beispiel wird ein BigInteger Wert aus einem Bytearray instanziiert, das einen Int16 Wert darstellt.

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
Dim originalValue As Short = 30000
Console.WriteLine(originalValue)

' Convert the Int16 value to a byte array.
Dim bytes() As Byte = BitConverter.GetBytes(originalValue)

' Display the byte array.
For Each byteValue As Byte In bytes
   Console.Write("0x{0} ", byteValue.ToString("X2"))
Next    
Console.WriteLine() 

' Pass byte array to the BigInteger constructor.
Dim number As BigInteger = New BigInteger(bytes)
Console.WriteLine(number)
' The example displays the following output:
'       30000
'       0x30 0x75
'       30000

Die BigInteger Struktur geht davon aus, dass negative Werte mithilfe der Ergänzungsdarstellung von zwei gespeichert werden. Da die BigInteger Struktur einen numerischen Wert ohne feste Länge darstellt, interpretiert der BigInteger(Byte[]) Konstruktor immer das wichtigste Bit des letzten Byte im Array als Zeichenbit. Um zu verhindern, dass der Konstruktor die BigInteger(Byte[]) Komplementdarstellung eines negativen Werts mit der Zeichen- und Größendarstellung eines positiven Werts verwechselt, sollten positive Werte, in denen das wichtigste Bit des letzten Byte im Bytearray festgelegt wird, ein zusätzliches Byte enthalten, dessen Wert 0 ist. Beispielsweise ist 0xC0 0xBD 0xF0 0xFF die hexadezimale Darstellung von "-1.000.000" oder "4.293.967.296". Da das wichtigste Bit des letzten Byte in diesem Array aktiviert ist, würde der Wert des Bytearrays vom BigInteger(Byte[]) Konstruktor als -1.000.000 interpretiert. Um einen BigInteger Wert zu instanziieren, dessen Wert positiv ist, muss ein Bytearray, dessen Elemente 0xC0 0xBD 0xF0 0xFF 0x00 werden, an den Konstruktor übergeben werden. Dies wird anhand des folgenden Beispiels veranschaulicht.

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
Dim negativeNumber As Integer = -1000000
Dim positiveNumber As UInteger = 4293967296

Dim negativeBytes() As Byte = BitConverter.GetBytes(negativeNumber) 
Dim negativeBigInt As New BigInteger(negativeBytes)
Console.WriteLine(negativeBigInt.ToString("N0"))

Dim tempPosBytes() As Byte = BitConverter.GetBytes(positiveNumber)
Dim positiveBytes(tempposBytes.Length) As Byte
Array.Copy(tempPosBytes, positiveBytes, tempPosBytes.Length)
Dim positiveBigInt As New BigInteger(positiveBytes)
Console.WriteLine(positiveBigInt.ToString("N0")) 
' The example displays the following output:
'    -1,000,000
'    4,293,967,296

Bytearrays, die von der ToByteArray Methode aus positiven Werten erstellt wurden, umfassen dieses zusätzliche Nullwert-Byte. Daher kann die BigInteger Struktur erfolgreich Roundtrip-Werte durchführen, indem sie sie zuweisen und diese dann aus Bytearrays wiederherstellen, wie das folgende Beispiel zeigt.

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
Dim positiveValue As BigInteger = 15777216
Dim negativeValue As BigInteger = -1000000

Console.WriteLine("Positive value: " + positiveValue.ToString("N0"))
Dim bytes() As Byte = positiveValue.ToByteArray()
For Each byteValue As Byte In bytes
   Console.Write("{0:X2} ", byteValue)
Next
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()
For Each byteValue As Byte In bytes
   Console.Write("{0:X2} ", byteValue)
Next
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

Möglicherweise müssen Sie dieses zusätzliche Nullwert-Byte-Byte jedoch zu Bytearrays hinzufügen, die dynamisch vom Entwickler erstellt werden oder von Methoden zurückgegeben werden, die nicht signierte Ganzzahlen in Bytearrays konvertieren (z BitConverter.GetBytes(UInt16). B. , BitConverter.GetBytes(UInt32)und BitConverter.GetBytes(UInt64)).

Beim Analysieren einer hexadezimalen Zeichenfolge wird davon ausgegangen, BigInteger.Parse(String, NumberStyles) BigInteger.Parse(String, NumberStyles, IFormatProvider) dass der Wert, wenn das wichtigste Bit des ersten Bytes in der Zeichenfolge festgelegt ist, oder wenn die erste hexadezimale Ziffer der Zeichenfolge die unteren vier Bit eines Bytewerts darstellt, wird der Wert durch die Darstellung von zwei Ergänzungen dargestellt. Beispielsweise stellen sowohl "FF01" als auch "F01" den Dezimalwert -255 dar. Um positiv von negativen Werten zu unterscheiden, sollten positive Werte eine führende Null enthalten. Die relevanten Überladungen der ToString Methode, wenn sie die Zeichenfolge "X" übergeben werden, fügen Sie der zurückgegebenen hexadezimalen Zeichenfolge für positive Werte eine führende Null hinzu. Dies ermöglicht die Verwendung der Werte für roundtrips BigInteger mithilfe der ToString methoden, Parse wie im folgenden Beispiel gezeigt.

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.
Dim negativeNumber As BigInteger = -1000000
Dim positiveNumber As BigInteger = 15777216

Dim negativeHex As String = negativeNumber.ToString("X")
Dim positiveHex As string = positiveNumber.ToString("X")

Dim negativeNumber2, positiveNumber2 As BigInteger 
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.

Die hexadezimalen Zeichenfolgen, die ToString durch Aufrufen der Methoden der anderen integralen Typen oder überladungen der ToString Methode erstellt werden, die einen toBase Parameter enthalten, geben jedoch nicht das Zeichen des Werts oder des Quelldatentyps an, von dem die Hexadezimalzeichenfolge abgeleitet wurde. Beim erfolgreichen Instanziieren eines BigInteger Werts aus einer solchen Zeichenfolge ist eine zusätzliche Logik erforderlich. Im folgenden Beispiel wird eine mögliche Implementierung bereitgestellt.

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.
Imports System.Globalization
Imports System.Numerics

Public Structure HexValue
   Public Sign As Integer
   Public Value As String
End Structure
   
Module Example
   Public Sub Main()
      Dim positiveNumber As UInteger = 4039543321
      Dim negativeNumber As Integer = -255423975

      ' Convert the numbers to hex strings.
      Dim hexValue1, hexValue2 As HexValue
      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.
      Dim hexString As String
      Dim positiveBigInt, negativeBigInt As BigInteger
      
      hexString = CStr(IIf(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 = CStr(IIf(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)

   End Sub
End Module
' The example displays the following output:
'       Converted 4039543321 to F0C68A19 and back to 4039543321.
'       Converted -255423975 to f0c68a19 and back to -255423975.

Konstruktoren

BigInteger(Byte[])

Initialisiert eine neue Instanz der BigInteger-Struktur unter Verwendung der Werte in einem Bytearray.

BigInteger(Decimal)

Initialisiert eine neue Instanz der BigInteger-Struktur mit einem Decimal-Wert.

BigInteger(Double)

Initialisiert eine neue Instanz der BigInteger-Struktur unter Verwendung eines Gleitkommawerts mit doppelter Genauigkeit.

BigInteger(Int32)

Initialisiert eine neue Instanz der BigInteger-Struktur unter Verwendung des Werts einer 32-Bit-Ganzzahl mit Vorzeichen.

BigInteger(Int64)

Initialisiert eine neue Instanz der BigInteger-Struktur unter Verwendung des Werts einer 64-Bit-Ganzzahl mit Vorzeichen.

BigInteger(ReadOnlySpan<Byte>, Boolean, Boolean)

Initialisiert eine neue Instanz der BigInteger-Struktur unter Verwendung der Werte in einer schreibgeschützten Spanne von Bytes und zeigt optional die Signaturcodierung und die Endianness-Bytereihenfolge an.

BigInteger(Single)

Initialisiert eine neue Instanz der BigInteger-Struktur unter Verwendung eines Gleitkommawerts mit einfacher Genauigkeit.

BigInteger(UInt32)

Initialisiert eine neue Instanz der BigInteger-Struktur unter Verwendung des Werts einer 32-Bit-Ganzzahl ohne Vorzeichen.

BigInteger(UInt64)

Initialisiert eine neue Instanz der BigInteger-Struktur mit dem Wert einer 64-Bit-Ganzzahl ohne Vorzeichen.

Eigenschaften

IsEven

Gibt an, ob der Wert des aktuellen BigInteger-Objekts eine gerade Zahl ist.

IsOne

Gibt an, ob der Wert des aktuellen BigInteger-Objekts One ist.

IsPowerOfTwo

Gibt an, ob der Wert des aktuellen BigInteger-Objekts eine Potenz von Zwei ist.

IsZero

Gibt an, ob der Wert des aktuellen BigInteger-Objekts Zero ist.

MinusOne

Ruft einen Wert ab, der die Zahl -1 darstellt.

One

Ruft einen Wert ab, der die Zahl 1 darstellt.

Sign

Ruft eine Zahl ab, die das Vorzeichen (negativ, positiv, oder 0 (null)) des aktuellen BigInteger-Objekts angibt.

Zero

Ruft einen Wert ab, der die Zahl null (0) darstellt.

Methoden

Abs(BigInteger)

Ruft den absoluten Wert eines BigInteger-Objekts ab.

Add(BigInteger, BigInteger)

Addiert zwei BigInteger-Werte und gibt das Ergebnis zurück.

Compare(BigInteger, BigInteger)

Vergleicht zwei BigInteger-Werte und gibt eine ganze Zahl zurück, die angibt, ob der erste Wert kleiner oder größer als der zweite Wert oder gleich dem zweiten Wert ist.

CompareTo(BigInteger)

Vergleicht diese Instanz mit einem zweiten BigInteger und gibt eine ganze Zahl zurück, die angibt, ob der Wert dieser Instanz kleiner oder größer als der Wert des angegebenen Objekts ist oder mit diesem übereinstimmt.

CompareTo(Int64)

Vergleicht diese Instanz mit einer 64-Bit-Ganzzahl mit Vorzeichen und gibt eine ganze Zahl zurück, die angibt, ob der Wert dieser Instanz kleiner oder größer als der Wert der 64-Bit-Ganzzahl mit Vorzeichen ist oder mit diesem übereinstimmt.

CompareTo(Object)

Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine ganze Zahl zurück, die angibt, ob der Wert dieser Instanz kleiner oder größer als der Wert des angegebenen Objekts ist oder mit diesem übereinstimmt.

CompareTo(UInt64)

Vergleicht diese Instanz mit einer 64-Bit-Ganzzahl ohne Vorzeichen und gibt eine ganze Zahl zurück, die angibt, ob der Wert dieser Instanz kleiner oder größer als der Wert der 64-Bit-Ganzzahl ohne Vorzeichen ist oder mit diesem übereinstimmt.

Divide(BigInteger, BigInteger)

Dividiert einen BigInteger-Wert durch einen anderen und gibt das Ergebnis zurück.

DivRem(BigInteger, BigInteger, BigInteger)

Dividiert einen BigInteger-Wert durch einen anderen, gibt das Ergebnis zurück und gibt den Rest in einem Ausgabeparameter zurück.

Equals(BigInteger)

Gibt einen Wert zurück, der angibt, ob die aktuelle Instanz und ein angegebenes BigInteger-Objekt über den gleichen Wert verfügen.

Equals(Int64)

Gibt einen Wert zurück, der angibt, ob die aktuelle Instanz und eine 64-Bit-Ganzzahl mit Vorzeichen über den gleichen Wert verfügen.

Equals(Object)

Gibt einen Wert zurück, der angibt, ob die aktuelle Instanz und ein angegebenes Objekt über den gleichen Wert verfügen.

Equals(UInt64)

Gibt einen Wert zurück, der angibt, ob die aktuelle Instanz und eine 64-Bit-Ganzzahl ohne Vorzeichen über den gleichen Wert verfügen.

GetBitLength()

Ruft die Anzahl der Bits ab, die für die kürzeste Zweierkomplementdarstellung der aktuellen Instanz ohne Vorzeichenbit erforderlich sind.

GetByteCount(Boolean)

Ruft die Anzahl der Bytes ab, die von ToByteArray(Boolean, Boolean) und TryWriteBytes(Span<Byte>, Int32, Boolean, Boolean) ausgegeben werden.

GetHashCode()

Gibt den Hashcode für das aktuelle BigInteger-Objekt zurück.

GreatestCommonDivisor(BigInteger, BigInteger)

Sucht den größten gemeinsamen Divisor von zwei BigInteger-Werten.

Log(BigInteger)

Gibt den natürlichen Logarithmus (zur Basis e) der angegebenen Zahl zurück.

Log(BigInteger, Double)

Gibt den Logarithmus einer angegebenen Zahl bezüglich einer angegebenen Basis zurück.

Log10(BigInteger)

Gibt den Logarithmus einer angegebenen Zahl zur Basis 10 zurück.

Max(BigInteger, BigInteger)

Gibt den größeren der beiden BigInteger-Werte zurück.

Min(BigInteger, BigInteger)

Gibt den kleineren der beiden BigInteger-Werte zurück.

ModPow(BigInteger, BigInteger, BigInteger)

Führt eine Modulodivision für eine zur Potenz einer anderen Zahl erhobene Zahl aus.

Multiply(BigInteger, BigInteger)

Gibt das Produkt der beiden BigInteger-Werte zurück.

Negate(BigInteger)

Negiert einen angegebenen BigInteger-Wert.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

Konvertiert die-Darstellung einer Zahl, die in der angegebenen schreibgeschützten Spanne von Zeichen enthalten ist, in einem angegebenen Stil in die jeweilige BigInteger-Entsprechung.

Parse(String)

Wandelt die angegebene Zeichenfolgendarstellung einer Zahl in ihre BigInteger-Entsprechung um.

Parse(String, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturspezifischen Format in die BigInteger-Entsprechung.

Parse(String, NumberStyles)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die BigInteger-Entsprechung.

Parse(String, NumberStyles, IFormatProvider)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und kulturabhängigen Format in das entsprechende BigInteger.

Pow(BigInteger, Int32)

Potenziert einen BigInteger-Wert mit einem angegebenen Wert.

Remainder(BigInteger, BigInteger)

Führt die Ganzzahldivision von zwei BigInteger-Werten aus und gibt den Rest zurück.

Subtract(BigInteger, BigInteger)

Subtrahiert einen BigInteger-Wert von einem anderen und gibt das Ergebnis zurück.

ToByteArray()

Konvertiert einen BigInteger-Wert in ein Bytearray.

ToByteArray(Boolean, Boolean)

Liefert den Wert dieses BigInteger als Bytearray mit der kleinstmöglichen Anzahl von Bytes. Wenn der Wert Null (0) ist, wird ein Array von einem Byte zurückgegeben, dessen Element 0x00 ist.

ToString()

Konvertiert den numerischen Wert des aktuellen BigInteger-Objekts in die entsprechende Zeichenfolgendarstellung.

ToString(IFormatProvider)

Konvertiert den numerischen Wert des aktuellen BigInteger-Objekts unter Verwendung der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

ToString(String)

Konvertiert den numerischen Wert des aktuellen BigInteger-Objekts unter Verwendung des angegebenen Formats in die entsprechende Zeichenfolgendarstellung.

ToString(String, IFormatProvider)

Konvertiert den numerischen Wert des aktuellen BigInteger-Objekts unter Verwendung des angegebenen Formats und der angegebenen kulturspezifischen Formatierungsinformationen in die entsprechende Zeichenfolgendarstellung.

TryFormat(Span<Char>, Int32, ReadOnlySpan<Char>, IFormatProvider)

Formatiert diese BigInteger-Instanz in eine Spanne von Zeichen.

TryParse(ReadOnlySpan<Char>, BigInteger)

Versucht, die Darstellung einer Zahl, die in der angegebenen schreibgeschützten Zeichenspanne enthalten ist, in ihre Entsprechung BigInteger zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, BigInteger)

Versucht, die Zeichenfolgendarstellung einer Zahl in deren BigInteger-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

TryParse(String, BigInteger)

Versucht, die Zeichenfolgendarstellung einer Zahl in deren BigInteger-Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich durchgeführt wurde.

TryParse(String, NumberStyles, IFormatProvider, BigInteger)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und kulturspezifischen Format in das entsprechende BigInteger und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich abgeschlossen wurde.

TryWriteBytes(Span<Byte>, Int32, Boolean, Boolean)

Kopiert den Wert dieses BigInteger als Little-Endian-Zweierkomplementbytes mit der geringstmöglichen Anzahl von Bytes. Wenn der Wert Null (0) ist, wird nur ein Byte ausgegeben, dessen Element 0x00 ist.

Operatoren

Addition(BigInteger, BigInteger)

Addiert die Werte von zwei angegebenen BigInteger-Objekten.

BitwiseAnd(BigInteger, BigInteger)

Führt eine bitweise And-Operation für zwei BigInteger-Werte aus.

BitwiseOr(BigInteger, BigInteger)

Führt eine bitweise Or-Operation für zwei BigInteger-Werte aus.

Decrement(BigInteger)

Dekrementiert einen BigInteger-Wert um 1.

Division(BigInteger, BigInteger)

Dividiert einen angegebenen BigInteger-Wert durch einen anderen angegebenen BigInteger-Wert mit einer Ganzzahldivision.

Equality(BigInteger, BigInteger)

Gibt einen Wert zurück, der angibt, ob die Werte von zwei BigInteger-Objekten gleich sind.

Equality(BigInteger, Int64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert und der Wert einer langen ganzen Zahl mit Vorzeichen gleich sind.

Equality(BigInteger, UInt64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert und der Wert einer langen ganzen Zahl ohne Vorzeichen gleich sind.

Equality(Int64, BigInteger)

Gibt einen Wert zurück, der angibt, ob der Wert einer langen ganzen Zahl mit Vorzeichen und ein BigInteger-Wert gleich sind.

Equality(UInt64, BigInteger)

Gibt einen Wert zurück, der angibt, ob der Wert einer langen ganzen Zahl ohne Vorzeichen und ein BigInteger-Wert gleich sind.

ExclusiveOr(BigInteger, BigInteger)

Führt eine bitweise exklusive Or-Operation (XOr-Operation) für zwei BigInteger-Werte aus.

Explicit(BigInteger to Byte)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in einen Bytewert ohne Vorzeichen.

Explicit(BigInteger to Decimal)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in einen Decimal-Wert.

Explicit(BigInteger to Double)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in einen Double-Wert.

Explicit(BigInteger to Int16)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in den Wert einer 16-Bit-Ganzzahl mit Vorzeichen.

Explicit(BigInteger to Int32)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in den Wert einer 32-Bit-Ganzzahl mit Vorzeichen.

Explicit(BigInteger to Int64)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in den Wert einer 64-Bit-Ganzzahl mit Vorzeichen.

Explicit(BigInteger to SByte)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in einen 8-Bit-Wert mit Vorzeichen.

Diese API ist nicht CLS-kompatibel. Die kompatible Alternative ist Int16.

Explicit(BigInteger to Single)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in einen Gleitkommawert mit einfacher Genauigkeit.

Explicit(BigInteger to UInt16)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in den Wert einer 16-Bit-Ganzzahl ohne Vorzeichen.

Diese API ist nicht CLS-kompatibel. Die kompatible Alternative ist Int32.

Explicit(BigInteger to UInt32)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in den Wert einer 32-Bit-Ganzzahl ohne Vorzeichen.

Diese API ist nicht CLS-kompatibel. Die kompatible Alternative ist Int64.

Explicit(BigInteger to UInt64)

Definiert eine explizite Konvertierung eines BigInteger-Objekts in den Wert einer 64-Bit-Ganzzahl ohne Vorzeichen.

Diese API ist nicht CLS-kompatibel. Die kompatible Alternative ist Double.

Explicit(Decimal to BigInteger)

Definiert eine explizite Konvertierung eines Decimal-Objekts in einen BigInteger-Wert.

Explicit(Double to BigInteger)

Definiert eine explizite Konvertierung eines Double-Werts in einen BigInteger-Wert.

Explicit(Single to BigInteger)

Definiert eine explizite Konvertierung eines Single-Werts in einen BigInteger-Wert.

GreaterThan(BigInteger, BigInteger)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert größer als ein anderer BigInteger-Wert ist.

GreaterThan(BigInteger, Int64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger größer als der Wert einer 64-Bit-Ganzzahl mit Vorzeichen ist.

GreaterThan(BigInteger, UInt64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert größer als eine 64-Bit-Ganzzahl ohne Vorzeichen ist.

GreaterThan(Int64, BigInteger)

Gibt einen Wert zurück, der angibt, ob eine 64-Bit-Ganzzahl mit Vorzeichen größer als ein BigInteger-Wert ist.

GreaterThan(UInt64, BigInteger)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert größer als eine 64-Bit-Ganzzahl ohne Vorzeichen ist.

GreaterThanOrEqual(BigInteger, BigInteger)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert größer oder gleich einem anderen BigInteger-Wert ist.

GreaterThanOrEqual(BigInteger, Int64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert größer als der oder gleich dem Wert einer 64-Bit-Ganzzahl mit Vorzeichen ist.

GreaterThanOrEqual(BigInteger, UInt64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert größer als der oder gleich dem Wert einer 64-Bit-Ganzzahl ohne Vorzeichen ist.

GreaterThanOrEqual(Int64, BigInteger)

Gibt einen Wert zurück, der angibt, ob eine 64-Bit-Ganzzahl mit Vorzeichen größer als ein oder gleich einem BigInteger-Wert ist.

GreaterThanOrEqual(UInt64, BigInteger)

Gibt einen Wert zurück, der angibt, ob eine 64-Bit-Ganzzahl ohne Vorzeichen größer als ein oder gleich einem BigInteger-Wert ist.

Implicit(Byte to BigInteger)

Definiert eine implizite Konvertierung eines Bytewerts ohne Vorzeichen in ein BigInteger-Objekt.

Implicit(Int16 to BigInteger)

Definiert eine implizite Konvertierung einer 16-Bit-Ganzzahl mit Vorzeichen in einen BigInteger-Wert.

Implicit(Int32 to BigInteger)

Definiert eine implizite Konvertierung einer 32-Bit-Ganzzahl mit Vorzeichen in einen BigInteger-Wert.

Implicit(Int64 to BigInteger)

Definiert eine implizite Konvertierung einer 64-Bit-Ganzzahl mit Vorzeichen in einen BigInteger-Wert.

Implicit(SByte to BigInteger)

Definiert eine implizite Konvertierung einer 8-Bit-Ganzzahl mit Vorzeichen in einen BigInteger-Wert.

Diese API ist nicht CLS-kompatibel. Die kompatible Alternative ist BigInteger(Int32).

Implicit(UInt16 to BigInteger)

Definiert eine implizite Konvertierung einer 16-Bit-Ganzzahl ohne Vorzeichen in einen BigInteger-Wert.

Diese API ist nicht CLS-kompatibel. Die kompatible Alternative ist Implicit(Int32 to BigInteger).

Implicit(UInt32 to BigInteger)

Definiert eine implizite Konvertierung einer 32-Bit-Ganzzahl ohne Vorzeichen in einen BigInteger-Wert.

Diese API ist nicht CLS-kompatibel. Die kompatible Alternative ist Implicit(Int64 to BigInteger).

Implicit(UInt64 to BigInteger)

Definiert eine implizite Konvertierung einer 64-Bit-Ganzzahl ohne Vorzeichen in einen BigInteger-Wert.

Diese API ist nicht CLS-kompatibel. Die kompatible Alternative ist Double.

Increment(BigInteger)

Inkrementiert einen BigInteger-Wert um 1.

Inequality(BigInteger, BigInteger)

Gibt einen Wert zurück, der angibt, ob zwei BigInteger-Objekte über unterschiedliche Werte verfügen.

Inequality(BigInteger, Int64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert und eine 64-Bit-Ganzzahl mit Vorzeichen ungleich sind.

Inequality(BigInteger, UInt64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert und eine 64-Bit-Ganzzahl ohne Vorzeichen ungleich sind.

Inequality(Int64, BigInteger)

Gibt einen Wert zurück, der angibt, ob eine 64-Bit-Ganzzahl mit Vorzeichen und ein BigInteger-Wert ungleich sind.

Inequality(UInt64, BigInteger)

Gibt einen Wert zurück, der angibt, ob eine 64-Bit-Ganzzahl ohne Vorzeichen und ein BigInteger-Wert ungleich sind.

LeftShift(BigInteger, Int32)

Verschiebt einen BigInteger-Wert um eine angegebene Anzahl von Bits nach links.

LessThan(BigInteger, BigInteger)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert kleiner als ein anderer BigInteger-Wert ist.

LessThan(BigInteger, Int64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert kleiner als eine 64-Bit-Ganzzahl mit Vorzeichen ist.

LessThan(BigInteger, UInt64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert kleiner als eine 64-Bit-Ganzzahl ohne Vorzeichen ist.

LessThan(Int64, BigInteger)

Gibt einen Wert zurück, der angibt, ob eine 64-Bit-Ganzzahl mit Vorzeichen kleiner als ein BigInteger-Wert ist.

LessThan(UInt64, BigInteger)

Gibt einen Wert zurück, der angibt, ob eine 64-Bit-Ganzzahl ohne Vorzeichen kleiner als ein BigInteger-Wert ist.

LessThanOrEqual(BigInteger, BigInteger)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert kleiner oder gleich einem anderen BigInteger-Wert ist.

LessThanOrEqual(BigInteger, Int64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert kleiner als oder gleich einer 64-Bit-Ganzzahl mit Vorzeichen ist.

LessThanOrEqual(BigInteger, UInt64)

Gibt einen Wert zurück, der angibt, ob ein BigInteger-Wert kleiner als oder gleich einer 64-Bit-Ganzzahl ohne Vorzeichen ist.

LessThanOrEqual(Int64, BigInteger)

Gibt einen Wert zurück, der angibt, ob eine 64-Bit-Ganzzahl mit Vorzeichen kleiner als ein oder gleich einem BigInteger-Wert ist.

LessThanOrEqual(UInt64, BigInteger)

Gibt einen Wert zurück, der angibt, ob eine 64-Bit-Ganzzahl ohne Vorzeichen kleiner als ein oder gleich einem BigInteger-Wert ist.

Modulus(BigInteger, BigInteger)

Gibt den Rest aus der Division zweier angegebener BigInteger-Werte zurück.

Multiply(BigInteger, BigInteger)

Multipliziert zwei angegebene BigInteger-Werte.

OnesComplement(BigInteger)

Gibt das bitweise Einerkomplement eines BigInteger-Werts zurück.

RightShift(BigInteger, Int32)

Verschiebt einen BigInteger-Wert um eine angegebene Anzahl von Bits nach rechts.

Subtraction(BigInteger, BigInteger)

Subtrahiert einen BigInteger-Wert von einem anderen BigInteger-Wert.

UnaryNegation(BigInteger)

Negiert einen angegebenen BigInteger-Wert.

UnaryPlus(BigInteger)

Gibt den Wert des BigInteger-Operanden zurück. (Das Vorzeichen des Operanden wird nicht geändert.)

Explizite Schnittstellenimplementierungen

IComparable.CompareTo(Object)

Vergleicht diese Instanz mit einem angegebenen Objekt und gibt eine ganze Zahl zurück, die angibt, ob der Wert dieser Instanz kleiner oder größer als der Wert des angegebenen Objekts ist oder mit diesem übereinstimmt.

Gilt für: