Math.BigMul 方法

定義

多載

BigMul(Int32, Int32)

產生兩個 32 位元數字的完整產品。

BigMul(Int64, Int64, Int64)

產生 2 個 64 位元數字的完整乘積。

BigMul(UInt64, UInt64, UInt64)

產生兩個不帶正負號 64 位元數字的完整乘積。

BigMul(Int32, Int32)

產生兩個 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

要相乘的第二個數字。

傳回

Int64

包含指定數字之乘積的數字。

範例

下列範例示範 BigMul 如何使用方法來計算兩個整數值的乘積。

// 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()
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)

產生 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位。

傳回

Int64

指定數位之乘積的高64位。

適用於

BigMul(UInt64, UInt64, UInt64)

重要

此 API 不符合 CLS 規範。

產生兩個不帶正負號 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);
public static ulong BigMul (ulong a, ulong b, out ulong low);
[<System.CLSCompliant(false)>]
static member BigMul : uint64 * uint64 * uint64 -> uint64
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位。

傳回

UInt64

指定數位之乘積的高64位。

屬性

適用於