# Math.BigMul メソッド

## オーバーロード

 BigMul(Int32, Int32) 2 つの 32 ビット数値の完全な積を生成します。 BigMul(Int64, Int64, Int64) 2 つの 64 ビット数値の完全な積を生成します。 BigMul(UInt64, UInt64, UInt64) 2 つの符号なし 64 ビット数値の完全な積を生成します。

## BigMul(Int32, Int32)

ソース:
Math.cs
ソース:
Math.cs
ソース:
Math.cs

2 つの 32 ビット数値の完全な積を生成します。

``````public:
static long BigMul(int a, int b);``````
``public static long BigMul (int a, int b);``
``static member BigMul : int * int -> int64``
``Public Shared Function BigMul (a As Integer, b As Integer) As Long``

a
Int32

b
Int32

### 例

``````// This example demonstrates Math.BigMul()
using namespace System;
int main()
{
int int1 = Int32::MaxValue;
int int2 = Int32::MaxValue;
Int64 longResult;

//
longResult = Math::BigMul( int1, int2 );
Console::WriteLine( "Calculate the product of two Int32 values:" );
Console::WriteLine( "{0} * {1} = {2}", int1, int2, longResult );
}

/*
This example produces the following results:
Calculate the product of two Int32 values:
2147483647 * 2147483647 = 4611686014132420609
*/
``````
``````// This example demonstrates Math.BigMul()
using System;

class Sample
{
public static void Main()
{
int int1 = Int32.MaxValue;
int int2 = Int32.MaxValue;
long longResult;
//
longResult = Math.BigMul(int1, int2);
Console.WriteLine("Calculate the product of two Int32 values:");
Console.WriteLine("{0} * {1} = {2}", int1, int2, longResult);
}
}
/*
This example produces the following results:
Calculate the product of two Int32 values:
2147483647 * 2147483647 = 4611686014132420609
*/
``````
``````// This example demonstrates Math.BigMul()
open System

let int1 = Int32.MaxValue
let int2 = Int32.MaxValue

let longResult = Math.BigMul(int1, int2)
printfn "Calculate the product of two Int32 values:"
printfn \$"{int1} * {int2} = {longResult}"

// This example produces the following results:
// Calculate the product of two Int32 values:
// 2147483647 * 2147483647 = 4611686014132420609
``````
``````' This example demonstrates Math.BigMul()
Class Sample
Public Shared Sub Main()
Dim int1 As Integer = Int32.MaxValue
Dim int2 As Integer = Int32.MaxValue
Dim longResult As Long
'
longResult = Math.BigMul(int1, int2)
Console.WriteLine("Calculate the product of two Int32 values:")
Console.WriteLine("{0} * {1} = {2}", int1, int2, longResult)
End Sub
End Class
'
'This example produces the following results:
'Calculate the product of two Int32 values:
'2147483647 * 2147483647 = 4611686014132420609
'
``````

## BigMul(Int64, Int64, Int64)

ソース:
Math.cs
ソース:
Math.cs
ソース:
Math.cs

2 つの 64 ビット数値の完全な積を生成します。

``````public:
static long BigMul(long a, long b, [Runtime::InteropServices::Out] long % low);``````
``public static long BigMul (long a, long b, out long low);``
``static member BigMul : int64 * int64 * int64 -> int64``
``Public Shared Function BigMul (a As Long, b As Long, ByRef low As Long) As Long``

#### パラメーター

a
Int64

b
Int64

low
Int64

このメソッドが戻るとき、 には、指定した数値の積の下位 64 ビットが格納されます。

## BigMul(UInt64, UInt64, UInt64)

ソース:
Math.cs
ソース:
Math.cs
ソース:
Math.cs

この API は CLS 準拠ではありません。

2 つの符号なし 64 ビット数値の完全な積を生成します。

``````public:
static System::UInt64 BigMul(System::UInt64 a, System::UInt64 b, [Runtime::InteropServices::Out] System::UInt64 % low);``````
``````[System.CLSCompliant(false)]
public static ulong BigMul (ulong a, ulong b, out ulong low);``````
``````[<System.CLSCompliant(false)>]
static member BigMul : uint64 * uint64 * uint64 -> uint64``````
``Public Shared Function BigMul (a As ULong, b As ULong, ByRef low As ULong) As ULong``

#### パラメーター

a
UInt64

b
UInt64

low
UInt64

このメソッドが戻るとき、 には、指定した数値の積の下位 64 ビットが格納されます。