Monday, November 18, 2024
Google search engine
HomeLanguagesJavaStrictMath multiplyHigh() method in Java with Examples

StrictMath multiplyHigh() method in Java with Examples

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)

RELATED ARTICLES

Most Popular

Recent Comments