BigInteger 構造体

定義

任意の大きさを持つ符号付き整数を表します。Represents an arbitrarily large signed integer.

public value class BigInteger : IComparable, IComparable<System::Numerics::BigInteger>, IEquatable<System::Numerics::BigInteger>, IFormattable
[System.Serializable]
public struct BigInteger : IComparable, IComparable<System.Numerics.BigInteger>, IEquatable<System.Numerics.BigInteger>, IFormattable
type BigInteger = struct
    interface IFormattable
Public Structure BigInteger
Implements IComparable, IComparable(Of BigInteger), IEquatable(Of BigInteger), IFormattable
継承
BigInteger
属性
実装

注釈

BigInteger 型は、理論上の値が上限または下限を持たない、任意の大きい整数を表す不変の型です。The BigInteger type is an immutable type that represents an arbitrarily large integer whose value in theory has no upper or lower bounds. BigInteger 型のメンバーは、他の整数型 (ByteInt16Int32Int64SByteUInt16UInt32UInt64 型) のメンバーと密接に連携しています。The members of the BigInteger type closely parallel those of other integral types (the Byte, Int16, Int32, Int64, SByte, UInt16, UInt32, and UInt64 types). この型は、.NET Framework.NET Framework内の他の整数型とは異なり、MinValueMaxValue プロパティによって指定された範囲を持ちます。This type differs from the other integral types in the .NET Framework.NET Framework, which have a range indicated by their MinValue and MaxValue properties.

注意

BigInteger 型は不変であるため (「変更性と BigInteger 構造体」を参照してください)、上限または下限がないため、BigInteger 値の増加を引き起こすすべての操作に対して OutOfMemoryException をスローすることができます。Because the BigInteger type is immutable (see Mutability and the BigInteger Structure) and because it has no upper or lower bounds, an OutOfMemoryException can be thrown for any operation that causes a BigInteger value to grow too large.

BigInteger オブジェクトのインスタンス化Instantiating a BigInteger Object

BigInteger オブジェクトは、次のいくつかの方法でインスタンス化できます。You can instantiate a BigInteger object in several ways:

  • new キーワードを使用して、整数または浮動小数点値をパラメーターとして BigInteger コンストラクターに渡すことができます。You can use the new keyword and provide any integral or floating-point value as a parameter to the BigInteger constructor. (浮動小数点値は、BigIntegerに割り当てられる前に切り捨てられます)。次の例は、new キーワードを使用して BigInteger 値をインスタンス化する方法を示しています。(Floating-point values are truncated before they are assigned to the BigInteger.) The following example illustrates how to use the new keyword to instantiate BigInteger values.

    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		
    
  • BigInteger 変数を宣言し、その値が整数型である限り、数値型と同様に値を割り当てることができます。You can declare a BigInteger variable and assign it a value just as you would any numeric type, as long as that value is an integral type. 次の例では、割り当てを使用して、Int64から BigInteger 値を作成します。The following example uses assignment to create a BigInteger value from an 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
    
  • 値をキャストするか、最初に変換する場合は、BigInteger オブジェクトに10進数または浮動小数点値を割り当てることができます。You can assign a decimal or floating-point value to a BigInteger object if you cast the value or convert it first. 次の例では、DoubleC#とDecimal値を明示的にキャスト (Visual Basic) するか、BigIntegerに変換します。The following example explicitly casts (in C#) or converts (in Visual Basic) a Double and a Decimal value to a BigInteger.

    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      
    

これらのメソッドを使用すると、既存の数値型のいずれかの範囲内にある値を持つ BigInteger オブジェクトをインスタンス化できます。These methods enable you to instantiate a BigInteger object whose value is in the range of one of the existing numeric types only. 次の3つの方法のいずれかで、既存の数値型の範囲を超える値を持つ BigInteger オブジェクトをインスタンス化できます。You can instantiate a BigInteger object whose value can exceed the range of the existing numeric types in one of three ways:

  • new キーワードを使用して、任意のサイズのバイト配列を BigInteger.BigInteger コンストラクターに渡すことができます。You can use the new keyword and provide a byte array of any size to the BigInteger.BigInteger constructor. 次に例を示します。For example:

    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).
    
  • Parse または TryParse メソッドを呼び出して、数値の文字列形式を BigIntegerに変換することができます。You can call the Parse or TryParse methods to convert the string representation of a number to a BigInteger. 次に例を示します。For example:

    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
    
  • 数値式に対して何らかの操作を実行し、計算された BigInteger 結果を返す static (Visual Basic でShared) BigInteger メソッドを呼び出すことができます。You can call a static (Shared in Visual Basic) BigInteger method that performs some operation on a numeric expression and returns a calculated BigInteger result. 次の例では、UInt64.MaxValue し、結果を BigIntegerに割り当てています。The following example does this by cubing UInt64.MaxValue and assigning the result to a 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
    

BigInteger の初期化されていない値は Zeroです。The uninitialized value of a BigInteger is Zero.

BigInteger 値に対する操作の実行Performing Operations on BigInteger Values

他の整数型を使用する場合と同様に、BigInteger インスタンスを使用できます。You can use a BigInteger instance as you would use any other integral type. BigInteger は、標準の数値演算子をオーバーロードして、加算、減算、除算、乗算、減算、否定、単項否定などの基本的な算術演算を実行できるようにします。BigInteger overloads the standard numeric operators to enable you to perform basic mathematical operations such as addition, subtraction, division, multiplication, subtraction, negation, and unary negation. 標準の数値演算子を使用して、2つの BigInteger 値を相互に比較することもできます。You can also use the standard numeric operators to compare two BigInteger values with each other. 他の整数型と同様に BigInteger では、ビットごとの AndOrXOr、左シフト、右シフト演算子もサポートされています。Like the other integral types, BigInteger also supports the bitwise And, Or, XOr, left shift, and right shift operators. カスタム演算子をサポートしていない言語の場合、BigInteger 構造体には、数値演算を実行するための同等のメソッドも用意されています。For languages that do not support custom operators, the BigInteger structure also provides equivalent methods for performing mathematical operations. これには、AddDivideMultiplyNegateSubtractなどが含まれます。These include Add, Divide, Multiply, Negate, Subtract, and several others.

BigInteger 構造体の多くのメンバーは、他の整数型のメンバーに直接対応しています。Many members of the BigInteger structure correspond directly to members of the other integral types. さらに、BigInteger は次のようなメンバーを追加します。In addition, BigInteger adds members such as the following:

これらの追加メンバーの多くは、プリミティブ数値型を操作するための機能を提供する Math クラスのメンバーに対応しています。Many of these additional members correspond to the members of the Math class, which provides the functionality to work with the primitive numeric types.

可能性と BigInteger 構造体Mutability and the BigInteger Structure

次の例では、BigInteger オブジェクトをインスタンス化し、その値を1つインクリメントします。The following example instantiates a BigInteger object and then increments its value by one.

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)

この例では、既存のオブジェクトの値を変更するように見えますが、これは当てはまりません。Although this example appears to modify the value of the existing object, this is not the case. BigInteger オブジェクトは不変です。つまり、内部的には、共通言語ランタイムによって新しい BigInteger オブジェクトが作成され、その前の値より1つ大きい値が割り当てられます。BigInteger objects are immutable, which means that internally, the common language runtime actually creates a new BigInteger object and assigns it a value one greater than its previous value. この新しいオブジェクトが呼び出し元に返されます。This new object is then returned to the caller.

注意

.NET Framework 内のその他の数値型も変更できません。The other numeric types in the .NET Framework are also immutable. ただし、BigInteger の型には上限や下限がないため、その値は非常に大きくなり、パフォーマンスに大きな影響を与える可能性があります。However, because the BigInteger type has no upper or lower bounds, its values can grow extremely large and have a measurable impact on performance.

このプロセスは呼び出し元に対して透過的ですが、パフォーマンスが低下します。Although this process is transparent to the caller, it does incur a performance penalty. 場合によっては、BigInteger 値が非常に大きい場合にループで繰り返し操作を実行すると、パフォーマンスが著しく低下することがあります。In some cases, especially when repeated operations are performed in a loop on very large BigInteger values, that performance penalty can be significant. たとえば、次の例では、1回の操作で繰り返し実行され、BigInteger 値は、操作が成功するたびに1ずつ増加します。For example, in the following example, an operation is performed repetitively up to a million times, and a BigInteger value is incremented by one every time the operation succeeds.

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

このような場合は、Int32 変数に対するすべての中間割り当てを実行することで、パフォーマンスを向上させることができます。In such a case, you can improve performance by performing all intermediate assignments to an Int32 variable. 変数の最終的な値は、ループが終了したときに BigInteger オブジェクトに割り当てることができます。The final value of the variable can then be assigned to the BigInteger object when the loop exits. 具体的な例を次に示します。The following example provides an illustration.

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

バイト配列と16進文字列の使用Working with Byte Arrays and Hexadecimal Strings

BigInteger 値をバイト配列に変換する場合、またはバイト配列を BigInteger 値に変換する場合は、バイトの順序を考慮する必要があります。If you convert BigInteger values to byte arrays, or if you convert byte arrays to BigInteger values, you must consider the order of bytes. BigInteger 構造体では、バイト配列内の個々のバイトがリトルエンディアン順に表示されることを想定しています (つまり、値の下位バイトが上位バイトの前に置かれます)。The BigInteger structure expects the individual bytes in a byte array to appear in little-endian order (that is, the lower-order bytes of the value precede the higher-order bytes). 次の例に示すように、ToByteArray メソッドを呼び出し、結果のバイト配列を BigInteger(Byte[]) コンストラクターに渡すことによって、BigInteger の値をラウンドトリップできます。You can round-trip a BigInteger value by calling the ToByteArray method and then passing the resulting byte array to the BigInteger(Byte[]) constructor, as the following example shows.

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

他の整数型の値を表すバイト配列から BigInteger 値をインスタンス化するには、BitConverter.GetBytes メソッドに整数値を渡し、結果のバイト配列を BigInteger(Byte[]) コンストラクターに渡すことができます。To instantiate a BigInteger value from a byte array that represents a value of some other integral type, you can pass the integral value to the BitConverter.GetBytes method, and then pass the resulting byte array to the BigInteger(Byte[]) constructor. 次の例では、Int16 値を表すバイト配列から BigInteger 値をインスタンス化します。The following example instantiates a BigInteger value from a byte array that represents an Int16 value.

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

BigInteger 構造体は、2の補数表現を使用して負の値が格納されることを前提としています。The BigInteger structure assumes that negative values are stored by using two's complement representation. BigInteger 構造体は固定長のない数値を表すため、BigInteger(Byte[]) コンストラクターは常に、配列内の最後のバイトの最上位ビットを符号ビットとして解釈します。Because the BigInteger structure represents a numeric value with no fixed length, the BigInteger(Byte[]) constructor always interprets the most significant bit of the last byte in the array as a sign bit. BigInteger(Byte[]) コンストラクターが負の値の2つの補数表現を、正の値の符号と大きさの表現で混同しないようにするには、バイト配列の最後のバイトの最上位ビットが正の値になるようにします。通常、設定には、値が0である追加のバイトが含まれている必要があります。To prevent the BigInteger(Byte[]) constructor from confusing the two's complement representation of a negative value with the sign and magnitude representation of a positive value, positive values in which the most significant bit of the last byte in the byte array would ordinarily be set should include an additional byte whose value is 0. たとえば、0xC0 0xBD 0Xbd 0xFF は、-100万または4293967296のリトルエンディアン16進数表現です。For example, 0xC0 0xBD 0xF0 0xFF is the little-endian hexadecimal representation of either -1,000,000 or 4,293,967,296. この配列の最後のバイトの最上位ビットがオンになっているため、バイト配列の値は、BigInteger(Byte[]) コンストラクターによって-100万として解釈されます。Because the most significant bit of the last byte in this array is on, the value of the byte array would be interpreted by the BigInteger(Byte[]) constructor as -1,000,000. 値が正である BigInteger をインスタンス化するには、0xC0 0xBD 0Xbd 0xFF 0x00 という要素を持つバイト配列をコンストラクターに渡す必要があります。To instantiate a BigInteger whose value is positive, a byte array whose elements are 0xC0 0xBD 0xF0 0xFF 0x00 must be passed to the constructor. 次に例を示します。The following example illustrates this.

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      

正の値から ToByteArray メソッドによって作成されたバイト配列には、この追加のゼロ値バイトが含まれます。Byte arrays created by the ToByteArray method from positive values include this extra zero-value byte. したがって、BigInteger 構造体は、次の例に示すように、値をバイト配列に割り当ててから復元することによって、値のラウンドトリップを正常に行うことができます。Therefore, the BigInteger structure can successfully round-trip values by assigning them to, and then restoring them from, byte arrays, as the following example shows.

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

ただし、この追加のゼロ値バイトは、開発者によって動的に作成されるバイト配列に追加する必要があります。または、符号なし整数をバイト配列に変換するメソッド (BitConverter.GetBytes(UInt16)BitConverter.GetBytes(UInt32)BitConverter.GetBytes(UInt64)など) によって返されるバイト配列に追加することが必要になる場合があります。However, you may need to add this additional zero-value byte to byte arrays that are created dynamically by the developer or that are returned by methods that convert unsigned integers to byte arrays (such as BitConverter.GetBytes(UInt16), BitConverter.GetBytes(UInt32), and BitConverter.GetBytes(UInt64)).

16進数の文字列を解析する場合、BigInteger.Parse(String, NumberStyles) および BigInteger.Parse(String, NumberStyles, IFormatProvider) メソッドでは、文字列の最初のバイトの最上位ビットが設定されているか、文字列の最初の16進数の数字がバイト値の下位4ビットを表していることを想定しています。,、値は、2の補数表現を使用して表されます。When parsing a hexadecimal string, the BigInteger.Parse(String, NumberStyles) and BigInteger.Parse(String, NumberStyles, IFormatProvider) methods assume that if the most significant bit of the first byte in the string is set, or if the first hexadecimal digit of the string represents the lower four bits of a byte value, the value is represented by using two's complement representation. たとえば、"FF01" と "F01" は両方とも10進値-255 を表します。For example, both "FF01" and "F01" represent the decimal value -255. 負の値との正を区別するには、正の値に先行ゼロを含める必要があります。To differentiate positive from negative values, positive values should include a leading zero. ToString メソッドの関連するオーバーロードには、"X" 書式指定文字列が渡されたときに、正の値に対して返された16進数文字列に先頭のゼロを追加します。The relevant overloads of the ToString method, when they are passed the "X" format string, add a leading zero to the returned hexadecimal string for positive values. これにより、次の例に示すように、ToString メソッドと Parse メソッドを使用して BigInteger の値をラウンドトリップさせることができます。This makes it possible to round-trip BigInteger values by using the ToString and Parse methods, as the following example shows.

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.

ただし、他の整数型の ToString メソッドを呼び出すことによって作成される16進数文字列、または toBase パラメーターを含む ToString メソッドのオーバーロードは、値の符号または16進数の元のデータ型を示していません。文字列が派生しました。However, the hexadecimal strings created by calling the ToString methods of the other integral types or the overloads of the ToString method that include a toBase parameter do not indicate the sign of the value or the source data type from which the hexadecimal string was derived. このような文字列から BigInteger 値を正常にインスタンス化するには、追加のロジックが必要です。Successfully instantiating a BigInteger value from such a string requires some additional logic. 次の例では、考えられる1つの実装を示します。The following example provides one possible implementation.

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.

コンストラクター

BigInteger(Byte[])

バイト配列の値を使用して、BigInteger 構造体の新しいインスタンスを初期化します。Initializes a new instance of the BigInteger structure using the values in a byte array.

BigInteger(Decimal)

Decimal 値を使用して、BigInteger 構造体の新しいインスタンスを初期化します。Initializes a new instance of the BigInteger structure using a Decimal value.

BigInteger(Double)

倍精度浮動小数点値を使用して、BigInteger 構造体の新しいインスタンスを初期化します。Initializes a new instance of the BigInteger structure using a double-precision floating-point value.

BigInteger(Int32)

32 ビット符号付き整数値を使用して、BigInteger 構造体の新しいインスタンスを初期化します。Initializes a new instance of the BigInteger structure using a 32-bit signed integer value.

BigInteger(Int64)

64 ビット符号付き整数値を使用して、BigInteger 構造体の新しいインスタンスを初期化します。Initializes a new instance of the BigInteger structure using a 64-bit signed integer value.

BigInteger(ReadOnlySpan<Byte>, Boolean, Boolean)

バイトの読み取り専用スパンを使用して、BigInteger 構造体の新しいインスタンスを初期化します。任意で、符号付きエンコードとエンディアンのバイト順を示します。Initializes a new instance of the BigInteger structure using the values in a read-only span of bytes, and optionally indicating the signing encoding and the endianness byte order.

BigInteger(Single)

単精度浮動小数点値を使用して、BigInteger 構造体の新しいインスタンスを初期化します。Initializes a new instance of the BigInteger structure using a single-precision floating-point value.

BigInteger(UInt32)

32 ビット符号なし整数値を使用して、BigInteger 構造体の新しいインスタンスを初期化します。Initializes a new instance of the BigInteger structure using an unsigned 32-bit integer value.

BigInteger(UInt64)

64 ビット符号なし整数値を使用して、BigInteger 構造体の新しいインスタンスを初期化します。Initializes a new instance of the BigInteger structure with an unsigned 64-bit integer value.

プロパティ

IsEven

現在の BigInteger オブジェクトの値が偶数かどうかを示します。Indicates whether the value of the current BigInteger object is an even number.

IsOne

現在の BigInteger オブジェクトの値が One かどうかを示します。Indicates whether the value of the current BigInteger object is One.

IsPowerOfTwo

現在の BigInteger オブジェクトの値が 2 の累乗かどうかを示します。Indicates whether the value of the current BigInteger object is a power of two.

IsZero

現在の BigInteger オブジェクトの値が Zero かどうかを示します。Indicates whether the value of the current BigInteger object is Zero.

MinusOne

負の 1 (-1) を表す値を取得します。Gets a value that represents the number negative one (-1).

One

正の 1 (1) を表す値を取得します。Gets a value that represents the number one (1).

Sign

現在の BigInteger オブジェクトの符号 (負、正、または 0) を示す数値を取得します。Gets a number that indicates the sign (negative, positive, or zero) of the current BigInteger object.

Zero

0 (ゼロ) を表す値を取得します。Gets a value that represents the number 0 (zero).

メソッド

Abs(BigInteger)

BigInteger オブジェクトの絶対値を取得します。Gets the absolute value of a BigInteger object.

Add(BigInteger, BigInteger)

2 つの BigInteger 値を加算し、その結果を返します。Adds two BigInteger values and returns the result.

Compare(BigInteger, BigInteger)

2 つの BigInteger 値を比較し、1 番目の値が 2 番目の値よりも小さいか、同じか、または大きいかを示す整数を返します。Compares two BigInteger values and returns an integer that indicates whether the first value is less than, equal to, or greater than the second value.

CompareTo(BigInteger)

このインスタンスともう 1 つの BigInteger を比較し、このインスタンスの値が指定されたオブジェクトの値よりも小さいか、同じか、または大きいかを示す整数を返します。Compares this instance to a second BigInteger and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified object.

CompareTo(Int64)

このインスタンスと符号付き 64 ビット整数を比較し、このインスタンスの値が符号付き 64 ビット整数の値よりも小さいか、同じか、または大きいかを示す整数を返します。Compares this instance to a signed 64-bit integer and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the signed 64-bit integer.

CompareTo(Object)

このインスタンスと指定したオブジェクトを比較し、このインスタンスの値が指定したオブジェクトの値よりも小さいか、同じか、または大きいかを示す整数を返します。Compares this instance to a specified object and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified object.

CompareTo(UInt64)

このインスタンスと符号なし 64 ビット整数を比較し、このインスタンスの値が符号なし 64 ビット整数の値よりも小さいか、同じか、または大きいかを示す整数を返します。Compares this instance to an unsigned 64-bit integer and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the unsigned 64-bit integer.

Divide(BigInteger, BigInteger)

一方の BigInteger 値をもう一方の値で除算し、その結果を返します。Divides one BigInteger value by another and returns the result.

DivRem(BigInteger, BigInteger, BigInteger)

ある BigInteger 値を別の値で除算し、その結果を返します。剰余は出力パラメーターとして返されます。Divides one BigInteger value by another, returns the result, and returns the remainder in an output parameter.

Equals(BigInteger)

現在のインスタンスの値と指定された BigInteger オブジェクトの値が等しいかどうかを示す値を返します。Returns a value that indicates whether the current instance and a specified BigInteger object have the same value.

Equals(Int64)

現在のインスタンスの値と符号付き 64 ビット整数の値が等しいかどうかを示す値を返します。Returns a value that indicates whether the current instance and a signed 64-bit integer have the same value.

Equals(Object)

現在のインスタンスの値と指定されたオブジェクトの値が等しいかどうかを示す値を返します。Returns a value that indicates whether the current instance and a specified object have the same value.

Equals(UInt64)

現在のインスタンスの値と符号なし 64 ビット整数の値が等しいかどうかを示す値を返します。Returns a value that indicates whether the current instance and an unsigned 64-bit integer have the same value.

GetByteCount(Boolean)

ToByteArray(Boolean, Boolean)TryWriteBytes(Span<Byte>, Int32, Boolean, Boolean) によって出力されるバイト数を取得します。Gets the number of bytes that will be output by ToByteArray(Boolean, Boolean) and TryWriteBytes(Span<Byte>, Int32, Boolean, Boolean).

GetHashCode()

現在の BigInteger オブジェクトのハッシュ コードを返します。Returns the hash code for the current BigInteger object.

GreatestCommonDivisor(BigInteger, BigInteger)

2 つの BigInteger 値の最大公約数を求めます。Finds the greatest common divisor of two BigInteger values.

Log(BigInteger)

指定した数の自然 (底 e) 対数を返します。Returns the natural (base e) logarithm of a specified number.

Log(BigInteger, Double)

指定した数値の指定した底での対数を返します。Returns the logarithm of a specified number in a specified base.

Log10(BigInteger)

指定した数の底 10 の対数を返します。Returns the base 10 logarithm of a specified number.

Max(BigInteger, BigInteger)

2 つの BigInteger 値のうち 大きい方の値を返します。Returns the larger of two BigInteger values.

Min(BigInteger, BigInteger)

2 つの BigInteger 値のうち小さい方の値を返します。Returns the smaller of two BigInteger values.

ModPow(BigInteger, BigInteger, BigInteger)

ある数値を別の数値で累乗し、それをさらに別の数値で割った結果生じた剰余を求めます。Performs modulus division on a number raised to the power of another number.

Multiply(BigInteger, BigInteger)

2 つの BigInteger 値の積を返します。Returns the product of two BigInteger values.

Negate(BigInteger)

指定された BigInteger 値を否定 (負数化) します。Negates a specified BigInteger value.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

指定の文字の読み取り専用のスパンに含まれている、指定のスタイルで表現された数値を、それと等価な BigInteger に変換します。Converts the representation of a number, contained in the specified read-only span of characters, in a specified style to its BigInteger equivalent.

Parse(String)

数値の文字列形式を、それと等価の BigInteger に変換します。Converts the string representation of a number to its BigInteger equivalent.

Parse(String, IFormatProvider)

指定されたカルチャ固有の書式で表現された文字列形式の数値を、それと等価の BigInteger に変換します。Converts the string representation of a number in a specified culture-specific format to its BigInteger equivalent.

Parse(String, NumberStyles)

指定のスタイルで表現された数値の文字列形式を、それと等価な BigInteger に変換します。Converts the string representation of a number in a specified style to its BigInteger equivalent.

Parse(String, NumberStyles, IFormatProvider)

指定したスタイルおよびカルチャ固有の書式の数値の文字列形式を、それと等価の BigInteger に変換します。Converts the string representation of a number in a specified style and culture-specific format to its BigInteger equivalent.

Pow(BigInteger, Int32)

指定された値を指数として BigInteger 値を累乗します。Raises a BigInteger value to the power of a specified value.

Remainder(BigInteger, BigInteger)

2 つの BigInteger 値に対する整数除算を実行し、その剰余を返します。Performs integer division on two BigInteger values and returns the remainder.

Subtract(BigInteger, BigInteger)

ある BigInteger 値を別の値から減算し、その結果を返します。Subtracts one BigInteger value from another and returns the result.

ToByteArray()

BigInteger 値をバイト配列に変換します。Converts a BigInteger value to a byte array.

ToByteArray(Boolean, Boolean)

使用できる最も少ないバイト数を使用して、この BigInteger の値をバイト配列として返します。Returns the value of this BigInteger as a byte array using the fewest number of bytes possible. 値が 0 の場合は、その要素が 0x00 である 1 バイトの配列を返します。If the value is zero, returns an array of one byte whose element is 0x00.

ToString()

現在の BigInteger オブジェクトの数値を等価の文字列形式に変換します。Converts the numeric value of the current BigInteger object to its equivalent string representation.

ToString(IFormatProvider)

指定されたカルチャ固有の書式情報を使用して、現在の BigInteger オブジェクトの数値をそれと等価の文字列形式に変換します。Converts the numeric value of the current BigInteger object to its equivalent string representation by using the specified culture-specific formatting information.

ToString(String)

指定された書式を使用して、現在の BigInteger オブジェクトの数値をそれと等価な文字列形式に変換します。Converts the numeric value of the current BigInteger object to its equivalent string representation by using the specified format.

ToString(String, IFormatProvider)

指定された書式とカルチャ固有の書式情報を使用して、現在の BigInteger オブジェクトの数値をそれと等価の文字列形式に変換します。Converts the numeric value of the current BigInteger object to its equivalent string representation by using the specified format and culture-specific format information.

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

この多倍長整数インスタンスの書式を文字のスパンに設定します。Formats this big integer instance into a span of characters.

TryParse(ReadOnlySpan<Char>, BigInteger)

指定された文字の読み取り専用スパンに含まれた数値の表現を、等価の BigInteger に変換できるかどうかを試行し、変換に成功したかどうかを示す値を返します。Tries to convert the representation of a number contained in the specified read-only character span, to its BigInteger equivalent, and returns a value that indicates whether the conversion succeeded.

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

数値の文字列形式を対応する BigInteger 表現に変換できるかどうかを試行し、変換に成功したかどうかを示す値を返します。Tries to convert the string representation of a number to its BigInteger equivalent, and returns a value that indicates whether the conversion succeeded.

TryParse(String, BigInteger)

数値の文字列形式を対応する BigInteger 表現に変換できるかどうかを試行し、変換に成功したかどうかを示す値を返します。Tries to convert the string representation of a number to its BigInteger equivalent, and returns a value that indicates whether the conversion succeeded.

TryParse(String, NumberStyles, IFormatProvider, BigInteger)

指定されたスタイルおよびカルチャ固有の書式の数値の文字列形式を等価の BigInteger に変換できるかどうかを試行し、変換に成功したかどうかを示す値を返します。Tries to convert the string representation of a number in a specified style and culture-specific format to its BigInteger equivalent, and returns a value that indicates whether the conversion succeeded.

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

使用できる最も少ないバイト数を使用して、この BigInteger の値をリトル エンディアンの 2 の補数としてコピーします。Copies the value of this BigInteger as little-endian twos-complement bytes, using the fewest number of bytes possible. 値が 0 の場合は、その要素が 0x00 である 1 バイトの配列を返します。If the value is zero, outputs one byte whose element is 0x00.

演算子

Addition(BigInteger, BigInteger)

指定された 2 つの BigInteger オブジェクトの値を加算します。Adds the values of two specified BigInteger objects.

BitwiseAnd(BigInteger, BigInteger)

2 つの BigInteger 値に対し、ビットごとの And 演算を実行します。Performs a bitwise And operation on two BigInteger values.

BitwiseOr(BigInteger, BigInteger)

2 つの BigInteger 値に対し、ビットごとの Or 演算を実行します。Performs a bitwise Or operation on two BigInteger values.

Decrement(BigInteger)

BigInteger 値を 1 だけデクリメントします。Decrements a BigInteger value by 1.

Division(BigInteger, BigInteger)

整数除算を使用して、指定された BigInteger 値をもう 1 つの指定された BigInteger 値で除算します。Divides a specified BigInteger value by another specified BigInteger value by using integer division.

Equality(BigInteger, BigInteger)

2 つの BigInteger オブジェクトの値が等しいかどうかを示す値を返します。Returns a value that indicates whether the values of two BigInteger objects are equal.

Equality(BigInteger, Int64)

BigInteger 値と符号付き長整数値が等しいかどうかを示す値を返します。Returns a value that indicates whether a BigInteger value and a signed long integer value are equal.

Equality(BigInteger, UInt64)

BigInteger 値と符号なし長整数値が等しいかどうかを示す値を返します。Returns a value that indicates whether a BigInteger value and an unsigned long integer value are equal.

Equality(Int64, BigInteger)

符号付き長整数値と BigInteger 値が等しいかどうかを示す値を返します。Returns a value that indicates whether a signed long integer value and a BigInteger value are equal.

Equality(UInt64, BigInteger)

符号なし長整数値と BigInteger 値と等しいかどうかを示す値を返します。Returns a value that indicates whether an unsigned long integer value and a BigInteger value are equal.

ExclusiveOr(BigInteger, BigInteger)

2 つの BigInteger 値に対し、ビットごとの排他的 Or (XOr) 演算を実行します。Performs a bitwise exclusive Or (XOr) operation on two BigInteger values.

Explicit(BigInteger to Byte)

BigInteger オブジェクトから符号なしバイト値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned byte value.

Explicit(BigInteger to Decimal)

BigInteger オブジェクトから Decimal 値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a Decimal value.

Explicit(BigInteger to Double)

BigInteger オブジェクトから Double 値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a Double value.

Explicit(BigInteger to Int16)

BigInteger オブジェクトから 16 ビット符号付き整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a 16-bit signed integer value.

Explicit(BigInteger to Int32)

BigInteger オブジェクトから 32 ビット符号付き整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a 32-bit signed integer value.

Explicit(BigInteger to Int64)

BigInteger オブジェクトから 64 ビット符号付き整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a 64-bit signed integer value.

Explicit(BigInteger to SByte)

BigInteger オブジェクトから符号付き 8 ビット値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a signed 8-bit value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Int16.を使用できます。The compliant alternative is Int16.

Explicit(BigInteger to Single)

BigInteger オブジェクトから単精度浮動小数点値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to a single-precision floating-point value.

Explicit(BigInteger to UInt16)

BigInteger オブジェクトから符号なし 16 ビット整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned 16-bit integer value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Int32.を使用できます。The compliant alternative is Int32.

Explicit(BigInteger to UInt32)

BigInteger オブジェクトから符号なし 32 ビット整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned 32-bit integer value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Int64.を使用できます。The compliant alternative is Int64.

Explicit(BigInteger to UInt64)

BigInteger オブジェクトから符号なし 64 ビット整数値への明示的な変換を定義します。Defines an explicit conversion of a BigInteger object to an unsigned 64-bit integer value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Double.を使用できます。The compliant alternative is Double.

Explicit(Decimal to BigInteger)

Decimal オブジェクトから BigInteger 値への明示的な変換を定義します。Defines an explicit conversion of a Decimal object to a BigInteger value.

Explicit(Double to BigInteger)

Double 値から BigInteger 値への明示的な変換を定義します。Defines an explicit conversion of a Double value to a BigInteger value.

Explicit(Single to BigInteger)

Single 値から BigInteger 値への明示的な変換を定義します。Defines an explicit conversion of a Single value to a BigInteger value.

GreaterThan(BigInteger, BigInteger)

BigInteger 値がもう 1 つの BigInteger 値より大きいかどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is greater than another BigInteger value.

GreaterThan(BigInteger, Int64)

BigInteger が 64 ビット符号付き整数値より大きいかどうかを示す値を返します。Returns a value that indicates whether a BigInteger is greater than a 64-bit signed integer value.

GreaterThan(BigInteger, UInt64)

BigInteger 値が 64 ビット符号なし整数より大きいかどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is greater than a 64-bit unsigned integer.

GreaterThan(Int64, BigInteger)

64 ビット符号付き整数が BigInteger 値より大きいかどうかを示す値を返します。Returns a value that indicates whether a 64-bit signed integer is greater than a BigInteger value.

GreaterThan(UInt64, BigInteger)

BigInteger 値が 64 ビット符号なし整数より大きいかどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is greater than a 64-bit unsigned integer.

GreaterThanOrEqual(BigInteger, BigInteger)

BigInteger 値がもう 1 つの BigInteger 値以上かどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is greater than or equal to another BigInteger value.

GreaterThanOrEqual(BigInteger, Int64)

BigInteger 値が 64 ビット符号付き整数値以上かどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is greater than or equal to a 64-bit signed integer value.

GreaterThanOrEqual(BigInteger, UInt64)

BigInteger 値が 64 ビット符号なし整数値以上かどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is greater than or equal to a 64-bit unsigned integer value.

GreaterThanOrEqual(Int64, BigInteger)

64 ビット符号付き整数が BigInteger 値以上かどうかを示す値を返します。Returns a value that indicates whether a 64-bit signed integer is greater than or equal to a BigInteger value.

GreaterThanOrEqual(UInt64, BigInteger)

64 ビット符号なし整数が BigInteger 値以上かどうかを示す値を返します。Returns a value that indicates whether a 64-bit unsigned integer is greater than or equal to a BigInteger value.

Implicit(Byte to BigInteger)

符号なしバイト値から BigInteger 値への暗示的な変換を定義します。Defines an implicit conversion of an unsigned byte to a BigInteger value.

Implicit(Int16 to BigInteger)

符号付き 16 ビット整数値から BigInteger 値への暗黙的な変換を定義します。Defines an implicit conversion of a signed 16-bit integer to a BigInteger value.

Implicit(Int32 to BigInteger)

符号付き 32 ビット整数値から BigInteger 値への暗黙的な変換を定義します。Defines an implicit conversion of a signed 32-bit integer to a BigInteger value.

Implicit(Int64 to BigInteger)

符号付き 64 ビット整数値から BigInteger 値への暗黙的な変換を定義します。Defines an implicit conversion of a signed 64-bit integer to a BigInteger value.

Implicit(SByte to BigInteger)

8 ビット符号付き整数値から BigInteger 値への暗黙的な変換を定義します。Defines an implicit conversion of an 8-bit signed integer to a BigInteger value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として BigInteger(Int32).を使用できます。The compliant alternative is BigInteger(Int32).

Implicit(UInt16 to BigInteger)

16 ビット符号なし整数値から BigInteger 値への暗黙的な変換を定義します。Defines an implicit conversion of a 16-bit unsigned integer to a BigInteger value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Implicit(Int32 to BigInteger).を使用できます。The compliant alternative is Implicit(Int32 to BigInteger).

Implicit(UInt32 to BigInteger)

32 ビット符号なし整数値から BigInteger 値への暗黙的な変換を定義します。Defines an implicit conversion of a 32-bit unsigned integer to a BigInteger value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Implicit(Int64 to BigInteger).を使用できます。The compliant alternative is Implicit(Int64 to BigInteger).

Implicit(UInt64 to BigInteger)

64 ビット符号なし整数値から BigInteger 値への暗黙的な変換を定義します。Defines an implicit conversion of a 64-bit unsigned integer to a BigInteger value.

この API は、CLS に準拠していません。This API is not CLS-compliant. 準拠している代替として Double.を使用できます。The compliant alternative is Double.

Increment(BigInteger)

BigInteger 値を 1 だけインクリメントします。Increments a BigInteger value by 1.

Inequality(BigInteger, BigInteger)

2 つの BigInteger オブジェクトの値が異なるかどうかを示す値を返します。Returns a value that indicates whether two BigInteger objects have different values.

Inequality(BigInteger, Int64)

BigInteger 値と 64 ビット符号付き整数値が等しくないかどうかを示す値を返します。Returns a value that indicates whether a BigInteger value and a 64-bit signed integer are not equal.

Inequality(BigInteger, UInt64)

BigInteger 値と 64 ビット符号なし整数値が等しくないかどうかを示す値を返します。Returns a value that indicates whether a BigInteger value and a 64-bit unsigned integer are not equal.

Inequality(Int64, BigInteger)

64 ビット符号付き整数値と BigInteger 値が等しくないかどうかを示す値を返します。Returns a value that indicates whether a 64-bit signed integer and a BigInteger value are not equal.

Inequality(UInt64, BigInteger)

64 ビット符号なし整数値と BigInteger 値が等しくないかどうかを示す値を返します。Returns a value that indicates whether a 64-bit unsigned integer and a BigInteger value are not equal.

LeftShift(BigInteger, Int32)

指定されたビット数だけ BigInteger 値を左にシフトします。Shifts a BigInteger value a specified number of bits to the left.

LessThan(BigInteger, BigInteger)

BigInteger 値がもう 1 つの BigInteger 値より小さいかどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is less than another BigInteger value.

LessThan(BigInteger, Int64)

BigInteger 値が 64 ビット符号付き整数より小さいかどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is less than a 64-bit signed integer.

LessThan(BigInteger, UInt64)

BigInteger 値が 64 ビット符号なし整数より小さいかどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is less than a 64-bit unsigned integer.

LessThan(Int64, BigInteger)

64 ビット符号付き整数が BigInteger 値より小さいかどうかを示す値を返します。Returns a value that indicates whether a 64-bit signed integer is less than a BigInteger value.

LessThan(UInt64, BigInteger)

64 ビット符号なし整数が BigInteger 値より小さいかどうかを示す値を返します。Returns a value that indicates whether a 64-bit unsigned integer is less than a BigInteger value.

LessThanOrEqual(BigInteger, BigInteger)

BigInteger 値がもう 1 つの BigInteger 値以下かどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is less than or equal to another BigInteger value.

LessThanOrEqual(BigInteger, Int64)

BigInteger 値が 64 ビット符号付き整数以下かどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is less than or equal to a 64-bit signed integer.

LessThanOrEqual(BigInteger, UInt64)

BigInteger 値が 64 ビット符号なし整数以下かどうかを示す値を返します。Returns a value that indicates whether a BigInteger value is less than or equal to a 64-bit unsigned integer.

LessThanOrEqual(Int64, BigInteger)

64 ビット符号付き整数が BigInteger 値以下かどうかを示す値を返します。Returns a value that indicates whether a 64-bit signed integer is less than or equal to a BigInteger value.

LessThanOrEqual(UInt64, BigInteger)

64 ビット符号なし整数が BigInteger 値以下かどうかを示す値を返します。Returns a value that indicates whether a 64-bit unsigned integer is less than or equal to a BigInteger value.

Modulus(BigInteger, BigInteger)

指定された 2 つの BigInteger 値の除算の結果生じた剰余を返します。Returns the remainder that results from division with two specified BigInteger values.

Multiply(BigInteger, BigInteger)

指定された 2 つの BigInteger 値を乗算します。Multiplies two specified BigInteger values.

OnesComplement(BigInteger)

BigInteger 値のビットごとの 1 の補数を返します。Returns the bitwise one's complement of a BigInteger value.

RightShift(BigInteger, Int32)

指定されたビット数だけ BigInteger 値を右にシフトします。Shifts a BigInteger value a specified number of bits to the right.

Subtraction(BigInteger, BigInteger)

BigInteger 値をもう 1 つの BigInteger 値から減算します。Subtracts a BigInteger value from another BigInteger value.

UnaryNegation(BigInteger)

指定された BigInteger 値を否定 (負数化) します。Negates a specified BigInteger value.

UnaryPlus(BigInteger)

BigInteger オペランドの値を返します。Returns the value of the BigInteger operand. オペランドの符号は変更されません。(The sign of the operand is unchanged.)

明示的なインターフェイスの実装

IComparable.CompareTo(Object)

このインスタンスと指定したオブジェクトを比較し、このインスタンスの値が指定したオブジェクトの値よりも小さいか、同じか、または大きいかを示す整数を返します。Compares this instance to a specified object and returns an integer that indicates whether the value of this instance is less than, equal to, or greater than the value of the specified object.

適用対象