Java - Double doubleToRawLongBits() method



Description

The Java Double doubleToRawLongBits() method returns a representation of the specified floating-point value according to the IEEE 754 floating-point "double format" bit layout, preserving Not-a-Number (NaN) values.It includes the following important points −

  • If the argument is positive infinity, the result is 0x7ff0000000000000L.
  • If the argument is negative infinity, the result is 0xfff0000000000000L.
  • If the argument is NaN, the result is the long integer representing the actual NaN value. Different from doubleToLongBits method, doubleToRawLongBits does not collapse all the bit patterns encoding a NaN to a single "canonical" NaN value.

Declaration

Following is the declaration for java.lang.Double.doubleToRawLongBits() method

public static long doubleToRawLongBits(double value)

Parameters

value − This is a double precision floating-point number.

Return Value

This method returns the bits that represent the floating-point number.

Exception

NA

Example 1

The following example shows the usage of Double doubleToRawLongBits() method to get a long bits format of the given positive double value. We've initialized a Double object with a given positive double value. Then using doubleToRawLongBits() method, we're printing its value in long bit format.

package com.tutorialspoint;
public class DoubleDemo {
   public static void main(String[] args) {

      Double d = new Double("15.30");
   
      //returns the bits that represent the floating-point number
      System.out.println("Value = " + Double.doubleToRawLongBits(d));  
   }
} 

Output

Let us compile and run the above program, this will produce the following result −

Value = 4624802752342104474

Example 2

The following example shows the usage of Double doubleToRawLongBits() method to get a long bits format of the given negative double value. We've initialized a Double object with a given positive double value. Then using doubleToRawLongBits() method, we're printing its value in long bit format.

package com.tutorialspoint;
public class DoubleDemo {
   public static void main(String[] args) {
      Double d = new Double("-15.30");
   
      //returns the bits that represent the floating-point number
      System.out.println("Value = " + Double.doubleToRawLongBits(d));  
   }
} 

Output

Let us compile and run the above program, this will produce the following result −

Value = -4598569284512671334

Example 3

The following example shows the usage of Double doubleToRawLongBits() method to get a long bits format of the given zero double value. We've initialized a Double object with a given positive double value. Then using doubleToRawLongBits() method, we're printing its value in long bit format.

package com.tutorialspoint;
public class DoubleDemo {
   public static void main(String[] args) {
      Double d = new Double("0.0");
   
      //returns the bits that represent the floating-point number
      System.out.println("Value = " + Double.doubleToRawLongBits(d));  
   }
} 

Output

Let us compile and run the above program, this will produce the following result −

Value = 0

Example 4

The following example shows the usage of Double doubleToRawLongBits() method to get a long bits format of the given negative zero double value. We've initialized a Double object with a given positive double value. Then using doubleToRawLongBits() method, we're printing its value in long bit format.

package com.tutorialspoint;
public class DoubleDemo {
   public static void main(String[] args) {
      Double d = new Double("-0.0");
   
      //returns the bits that represent the floating-point number
      System.out.println("Value = " + Double.doubleToRawLongBits(d));  
   }
} 

Output

Let us compile and run the above program, this will produce the following result −

Value = -9223372036854775808
java_lang_double.htm
Advertisements