Math.BigMul 方法

定义

重载

BigMul(UInt64, UInt64, UInt64)

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

BigMul(Int64, Int64, Int64)

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

BigMul(UInt64, UInt64)

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

BigMul(Int32, Int32)

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

BigMul(Int64, Int64)

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

BigMul(UInt32, UInt32)

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

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

属性

适用于

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)

重要

此 API 不符合 CLS。

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

public:
 static UInt128 BigMul(System::UInt64 a, System::UInt64 b);
[System.CLSCompliant(false)]
public static UInt128 BigMul (ulong a, ulong b);
[<System.CLSCompliant(false)>]
static member BigMul : uint64 * uint64 -> UInt128
Public Shared Function BigMul (a As ULong, b As ULong) As UInt128

参数

a
UInt64

要相乘的第一个数字。

b
UInt64

要相乘的第二个数字。

返回

指定数字的完整乘积。

属性

适用于

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)

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

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

参数

a
Int64

要相乘的第一个数字。

b
Int64

要相乘的第二个数字。

返回

指定数字的完整乘积。

适用于

BigMul(UInt32, UInt32)

重要

此 API 不符合 CLS。

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

public:
 static System::UInt64 BigMul(System::UInt32 a, System::UInt32 b);
[System.CLSCompliant(false)]
public static ulong BigMul (uint a, uint b);
[<System.CLSCompliant(false)>]
static member BigMul : uint32 * uint32 -> uint64
Public Shared Function BigMul (a As UInteger, b As UInteger) As ULong

参数

a
UInt32

要相乘的第一个数字。

b
UInt32

要相乘的第二个数字。

返回

包含指定数字乘积的数字。

属性

适用于