当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java BigInteger multiply()用法及代码示例


java.math.BigInteger.multiply(BigInteger val)用于计算两个BigInteger的乘法。由于BigInteger类内部使用整数数组进行处理,因此对BigInteger对象的操作不如对基元进行的操作快。

用法:

public BigInteger multiply(BigInteger val)

参数:此方法接受参数val,该参数是要与该BigInteger相乘的值。


返回值:此方法返回一个保存乘法(此* val)的BigInteger。

下面的程序用于说明BigInteger的multiply()方法。

示例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); 
    } 
}

输出:

The multiplication of
12345678901234567654632498739473
and
12345678901234561247612748612746
is
152415787532388282591353462245536419067346861445890674421122858

示例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); 
    } 
}

输出:

The multiplication of
123456789012345678901234567890123456789012345678901234567890123456789012345678901654632498739473
and
123456789012345678901234567890123456789012345678901234567890123456789012345678961247612748612746
is
15241578753238836750495351562566681945008382873376009755225118122311263526910008985036532509972574264073578551235889967606442208008929541925721486305055001841778994861500543809890674421122858

Using double, multiplication is 1.5241578753238838E190

从上面的示例中可以明显看出,使用BigInteger时数据是完全精确的。

参考: https://docs.oracle.com/en/java/javase/12/docs/api/java.base/java/math/BigInteger.html#multiply(java.math.BigInteger)



相关用法


注:本文由纯净天空筛选整理自Rajnis09大神的英文原创作品 BigInteger multiply() Method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。