Math.BigMul Method  
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
| BigMul(UInt64, UInt64, UInt64) | 
						 Produces the full product of two unsigned 64-bit numbers.  | 
        	
| BigMul(Int64, Int64, Int64) | 
						 Produces the full product of two 64-bit numbers.  | 
        	
| BigMul(UInt64, UInt64) | 
						 Produces the full product of two unsigned 64-bit numbers.  | 
        	
| BigMul(Int32, Int32) | 
						 Produces the full product of two 32-bit numbers.  | 
        	
| BigMul(Int64, Int64) | 
						 Produces the full product of two 64-bit numbers.  | 
        	
| BigMul(UInt32, UInt32) | 
						 Produces the full product of two unsigned 32-bit numbers.  | 
        	
BigMul(UInt64, UInt64, UInt64)
- Source:
 - Math.cs
 
- Source:
 - Math.cs
 
- Source:
 - Math.cs
 
- Source:
 - Math.cs
 
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
The high 64-bit of the product of the specified numbers.
- Attributes
 
Applies to
BigMul(Int64, Int64, Int64)
- Source:
 - Math.cs
 
- Source:
 - Math.cs
 
- Source:
 - Math.cs
 
- Source:
 - Math.cs
 
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
The high 64-bit of the product of the specified numbers.
Applies to
BigMul(UInt64, UInt64)
- Source:
 - Math.cs
 
Important
This API is not CLS-compliant.
Produces the full product of two unsigned 64-bit numbers.
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
	Parameters
- a
 - UInt64
 
The first number to multiply.
- b
 - UInt64
 
The second number to multiply.
Returns
The full product of the specified numbers.
- Attributes
 
Applies to
BigMul(Int32, Int32)
- Source:
 - Math.cs
 
- Source:
 - Math.cs
 
- Source:
 - Math.cs
 
- Source:
 - Math.cs
 
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
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 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
'
  Applies to
BigMul(Int64, Int64)
- Source:
 - Math.cs
 
Produces the full product of two 64-bit numbers.
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
	Parameters
- a
 - Int64
 
The first number to multiply.
- b
 - Int64
 
The second number to multiply.
Returns
The full product of the specified numbers.
Applies to
BigMul(UInt32, UInt32)
- Source:
 - Math.cs
 
Important
This API is not CLS-compliant.
Produces the full product of two unsigned 32-bit numbers.
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
	Parameters
- a
 - UInt32
 
The first number to multiply.
- b
 - UInt32
 
The second number to multiply.
Returns
The number containing the product of the specified numbers.
- Attributes