El java.math.BigInteger .multiply(BigInteger val) se usa para calcular la multiplicación de dos BigIntegers. Como la clase BigInteger usa internamente una array de enteros para el procesamiento, la operación en un objeto de BigInteger no es tan rápida como en las primitivas.
Sintaxis:
public BigInteger multiply(BigInteger val)
Parámetros: este método acepta un parámetro val que es el valor que se multiplicará por este BigInteger.
Valor devuelto: este método devuelve un BigInteger que contiene la multiplicación (este * val).
Los siguientes programas se utilizan para ilustrar el método multiplicar() de BigInteger.
Ejemplo 1:
// Java program to demonstrate // multiply() method of BigInteger import java.math.BigInteger; public class GFG { public static void main(String[] args) { // BigInteger object to store result BigInteger mult; // For user input // Use Scanner or BufferedReader // Two objects of String created // Holds the values to calculate the multiplication String input1 = "012345678901234567" + "654632498739473"; String input2 = "0123456789012345" + "61247612748612746"; // Convert the string input to BigInteger BigInteger a = new BigInteger(input1); BigInteger b = new BigInteger(input2); // Using multiply() method mult = a.multiply(b); // Display the result in BigInteger System.out.println("The multiplication of\n" + a + " \nand\n" + b + " " + "\nis\n" + mult); } }
Producción:
La multiplicación de
12345678901234567654632498739473
y
12345678901234561247612748612746
es
15241578753238828259135346224553641906734686144848910627
Ejemplo 2:
// Java program to demonstrate // multiply() method of BigInteger import java.math.BigInteger; public class GFG { public static void main(String[] args) { // BigInteger object to store result BigInteger mult; // For user input // Use Scanner or BufferedReader // Two objects of String created // Holds the values to calculate the multiplication String input1 = "012345678901234567" + "8901234567890123" + "4567890123456789" + "0123456789012345" + "6789012345678901" + "654632498739473"; String input2 = "0123456789012345" + "6789012345678901" + "2345678901234567" + "8901234567890123" + "4567890123456789" + "61247612748612746"; // Convert the string input to BigInteger BigInteger a = new BigInteger(input1); BigInteger b = new BigInteger(input2); // Using multiply() method mult = a.multiply(b); // Display the result in BigInteger System.out.println("The multiplication of\n" + a + " \nand\n" + b + " " + "\nis\n" + mult + "\n"); // Using double to hold the result double d = Double.parseDouble(mult.toString()); // Display the result in double System.out.println("Using double, multiplication is " + d); } }
Producción:
The multiplication of
123456789012345678901234567890123456789012345678901234567890123456789012345678901654632498739473
and
123456789012345678901234567890123456789012345678901234567890123456789012345678961247612748612746
is
15241578753238836750495351562566681945008382873376009755225118122311263526910008985036532509972574264073578551235889967606442208008929541925721486305055001841778994861500543809890674421122858Usando el doble, la multiplicación es 1.5241578753238838E190
A partir de los ejemplos anteriores, está claro que los datos son completamente precisos cuando se usa BigInteger.