Math.BigMul 方法

定义

重载

BigMul(Int32, Int32)

生成两个 32 位数字的完整乘积。

BigMul(Int64, Int64, Int64)

生成两个 64 位数的完整乘积。

BigMul(UInt64, UInt64, UInt64)

生成两个无符号 64 位数的完整乘积。

BigMul(Int32, Int32)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

生成两个 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

要相乘的第二个数。

返回

包含指定数字乘积的数。

示例

下面的示例演示如何使用 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()
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)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

生成两个 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 位。

返回

指定数字乘积的高 64 位。

适用于

BigMul(UInt64, UInt64, UInt64)

Source:
Math.cs
Source:
Math.cs
Source:
Math.cs

重要

此 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);
[<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 位。

返回

指定数字乘积的高 64 位。

属性

适用于