Thursday, October 16, 2025
HomeLanguagesJavaDouble doubleToLongBits() method in Java with examples

Double doubleToLongBits() method in Java with examples

The java.lang.Double.doubleToLongBits() method of Java Double class is a built-in function in java that returns a representation of the specified floating-point value according to the IEEE 754 floating-point “double format” bit layout.

Syntax:

public static long doubleToLongBits(double val)

Parameter: The method accepts only one parameter val which specifies a double precision floating-point number.

Return Values: The function returns the bits that represent the floating-point number. Below are the special cases:

  • If the argument is positive infinity, the result is 7ff0000000000000L.
  • If the argument is negative infinity, the result is 0xfff0000000000000L.
  • If the argument is NaN, the result is 0x7ff8000000000000L.

Below programs illustrates the use of java.lang.Double.doubleToLongBits() method:

Program 1:




// Java program to demonstrate
// Double.doubleToLongBits() method
  
import java.lang.*;
  
class Gfg1 {
  
    public static void main(String args[])
    {
  
        double val = 1.5d;
  
        // function call
        long answer = Double.doubleToLongBits(val);
  
        // print
        System.out.println(val + " in long bits: "
                           + answer);
    }
}


Output:

1.5 in long bits: 4609434218613702656

Program 2:




// Java program to demonstrate
// Double.doubleToLongBits() method
  
import java.lang.*;
  
class Gfg1 {
  
    public static void main(String args[])
    {
  
        double val = Double.POSITIVE_INFINITY;
        double val1 = Double.NEGATIVE_INFINITY;
        double val2 = Double.NaN;
  
        // function call
        long answer = Double.doubleToLongBits(val);
  
        // print
        System.out.println(val + " in long bits: "
                           + answer);
  
        // function call
        answer = Double.doubleToLongBits(val1);
  
        // print
        System.out.println(val1 + " in long bits: "
                           + answer);
  
        // function call
        answer = Double.doubleToLongBits(val2);
  
        // print
        System.out.println(val2 + " in long bits: "
                           + answer);
    }
}


Output:

Infinity in long bits: 9218868437227405312
-Infinity in long bits: -4503599627370496
NaN in long bits: 9221120237041090560

Reference: https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#doubleToLongBits(double)

RELATED ARTICLES

Most Popular

Dominic
32361 POSTS0 COMMENTS
Milvus
88 POSTS0 COMMENTS
Nango Kala
6728 POSTS0 COMMENTS
Nicole Veronica
11892 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11954 POSTS0 COMMENTS
Shaida Kate Naidoo
6852 POSTS0 COMMENTS
Ted Musemwa
7113 POSTS0 COMMENTS
Thapelo Manthata
6805 POSTS0 COMMENTS
Umr Jansen
6801 POSTS0 COMMENTS