BigInteger.Multiply(BigInteger, BigInteger) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Devuelve el producto de dos valores BigInteger.
public:
static System::Numerics::BigInteger Multiply(System::Numerics::BigInteger left, System::Numerics::BigInteger right);
public static System.Numerics.BigInteger Multiply (System.Numerics.BigInteger left, System.Numerics.BigInteger right);
static member Multiply : System.Numerics.BigInteger * System.Numerics.BigInteger -> System.Numerics.BigInteger
Public Shared Function Multiply (left As BigInteger, right As BigInteger) As BigInteger
Parámetros
- left
- BigInteger
El primer número que se va a multiplicar.
- right
- BigInteger
El segundo número que se va a multiplicar.
Devoluciones
Producto de los parámetros left
y right
.
Ejemplos
En el ejemplo siguiente se intenta realizar la multiplicación con dos enteros largos. Dado que el resultado supera el intervalo de un entero largo, se produce una OverflowException excepción y Multiply se llama al método para controlar la multiplicación. Tenga en cuenta que C# requiere que use la checked
palabra clave (como en este ejemplo) o la /checked+
opción del compilador para asegurarse de que se produce una excepción en un desbordamiento numérico.
long number1 = 1234567890;
long number2 = 9876543210;
try
{
long product;
product = checked(number1 * number2);
}
catch (OverflowException)
{
BigInteger product;
product = BigInteger.Multiply(number1, number2);
Console.WriteLine(product.ToString());
}
let number1 = 1234567890L
let number2 = 9876543210L
try
let product: int64 = Checked.(*) number1 number2
()
with :? OverflowException ->
let product = BigInteger.Multiply(number1, number2)
printfn $"{product}"
Dim number1 As Long = 1234567890
Dim number2 As Long = 9876543210
Try
Dim product As Long
product = number1 * number2
Console.WriteLine(product.ToString("N0"))
Catch e As OverflowException
Dim product As BigInteger
product = BigInteger.Multiply(number1, number2)
Console.WriteLine(product.ToString)
End Try
Comentarios
El Multiply método se implementa para lenguajes que no admiten la sobrecarga del operador. Su comportamiento es idéntico a la multiplicación mediante el operador de multiplicación. Además, el Multiply método es un sustituto útil del operador de multiplicación al crear una instancia de una BigInteger variable asignando un producto resultante de la multiplicación, como se muestra en el ejemplo siguiente.
// The statement
// BigInteger number = Int64.MaxValue * 3;
// produces compiler error CS0220: The operation overflows at compile time in checked mode.
// The alternative:
BigInteger number = BigInteger.Multiply(Int64.MaxValue, 3);
let number = BigInteger.Multiply(Int64.MaxValue, 3);
' The statement
' Dim number As BigInteger = Int64.MaxValue * 3
' produces compiler error BC30439: Constant expression not representable in type 'Long'.
' The alternative:
Dim number As BigInteger = BigInteger.Multiply(Int64.MaxValue, 3)
Si es necesario, este método realiza automáticamente la conversión implícita de otros tipos enteros en BigInteger objetos. Esto se ilustra en el ejemplo de la sección siguiente, donde el Multiply método se pasa dos Int64 valores.