Math.BigMul Method

Definition

 BigMul(Int32, Int32) Produces the full product of two 32-bit numbers. BigMul(Int64, Int64, Int64) Produces the full product of two 64-bit numbers. BigMul(UInt64, UInt64, UInt64) Produces the full product of two unsigned 64-bit numbers.

BigMul(Int32, Int32)

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

Parameters

a
Int32

The first number to multiply.

b
Int32

The second number to multiply.

Returns

Int64

The number containing the product of the specified numbers.

Examples

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)

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

Parameters

a
Int64

The first number to multiply.

b
Int64

The second number to multiply.

low
Int64

When this method returns, contains the low 64-bit of the product of the specified numbers.

Returns

Int64

The high 64-bit of the product of the specified numbers.

BigMul(UInt64, UInt64, UInt64)

Important

This API is not CLS-compliant.

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);
[<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

Parameters

a
UInt64

The first number to multiply.

b
UInt64

The second number to multiply.

low
UInt64

When this method returns, contains the low 64-bit of the product of the specified numbers.

Returns

UInt64

The high 64-bit of the product of the specified numbers.

Attributes