Math.BigMul 方法

定义

重载

BigMul(Int32, Int32)

生成两个 32 位数字的完整乘积。Produces the full product of two 32-bit numbers.

BigMul(Int64, Int64, Int64)

生成两个 64 位数的完整乘积。Produces the full product of two 64-bit numbers.

BigMul(UInt64, UInt64, UInt64)

生成两个无符号 64 位数的完整乘积。Produces the full product of two unsigned 64-bit numbers.

BigMul(Int32, Int32)

生成两个 32 位数字的完整乘积。Produces the full product of two 32-bit numbers.

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

要相乘的第一个数。The first number to multiply.

b
Int32

要相乘的第二个数。The second number to multiply.

返回

Int64

包含指定数字乘积的数。The number containing the product of the specified numbers.

示例

下面的示例演示如何使用 BigMul 方法来计算两个整数值的乘积。The following example demonstrates the use of the BigMul method to calculate the product of two integer values.

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

生成两个 64 位数的完整乘积。Produces the full product of two 64-bit numbers.

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

要相乘的第一个数。The first number to multiply.

b
Int64

要相乘的第二个数。The second number to multiply.

low
Int64

指定数的乘积的低 64 位。The low 64-bit of the product of the specified numbers.

返回

Int64

指定数的乘积的高 64 位。The high 64-bit of the product of the specied numbers.

适用于

BigMul(UInt64, UInt64, UInt64)

重要

此 API 不符合 CLS。

生成两个无符号 64 位数的完整乘积。Produces the full product of two unsigned 64-bit numbers.

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

要相乘的第一个数。The first number to multiply.

b
UInt64

要相乘的第二个数。The second number to multiply.

low
UInt64

指定数的乘积的低 64 位。The low 64-bit of the product of the specified numbers.

返回

UInt64

指定数的乘积的高 64 位。The high 64-bit of the product of the specied numbers.

属性

适用于