Compartir vía


BigInteger.Multiply(BigInteger, BigInteger) Método

Definición

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.

Se aplica a

Consulte también