Open In App

StrictMath multiplyHigh() method in Java with Examples

Improve
Improve
Like Article
Like
Save
Share
Report

The multiplyHigh(long x, long y) method of StrictMath class is used to return the most significant 64 bits from the 128-bit product of two 64-bit factors. This method takes two long values as input and a long is a 64-bit number. This method multiplies both long values and returns the most significant 64 bits from the product result which can be 128 bit long.

Syntax:

public static long multiplyHigh(long x, long y)

Parameters: This method accepts two long x, y as parameter where x and y are argument we want to multiply.

Return Value: This method returns the most significant 64 bits long value from the 128-bit product of two 64-bit numbersi.e. X * Y.

Note: This method was added in JDK 9. Hence it wont run in Online IDE.

Below programs illustrate the multiplyHigh() method:

Program 1:




// Java program to demonstrate
// multiplyHigh() method of StrictMath class
  
public class GFG {
  
    // Main method
    public static void main(String[] args)
    {
  
        // two long values
        long a = 45267356745l, b = 45676556735l;
  
        // apply multiplyHigh method
        long c = StrictMath.multiplyHigh(a, b);
  
        // print result
        System.out.println(a + " * "
                           + b + " = "
                           + c);
    }
}


Output:

45267356745 * 45676556735 = 112

Program 2: Multiplying two long contains Long.MAX values.




// Java program to demonstrate
// multiplyHigh() method of StrictMath class
  
public class GFG {
  
    // Main method
    public static void main(String[] args)
    {
  
        // two Integer values
        long a = Long.MAX_VALUE, b = Long.MAX_VALUE;
  
        // apply multiplyHigh method
        long c = StrictMath.multiplyHigh(a, b);
  
        // print result
        System.out.println(a + " * "
                           + b + " = " + c);
    }
}


Output:

9223372036854775807 * 9223372036854775807 = 4611686018427387903

References: https://docs.oracle.com/javase/10/docs/api/java/lang/StrictMath.html#multiplyHigh(long, long)



Last Updated : 29 Oct, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads