java.lang.Double doubleToRawLongBits(double value)
Syntax:
public static long doubleToRawLongBits(double value)
Java Code Example :
This java example source code demonstrates the use of doubleToRawLongBits(double value)) method of Double class.
Some takeaways on the doubleToRawLongBits(double value) 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.
- 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. Unlike the doubleToLongBits method, doubleToRawLongBits does not collapse all the bit patterns encoding a NaN to a single “canonical” NaN value.
package com.javatutorialhq.java.examples; import static java.lang.System.out; /* * This example source code demonstrates the use of * doubleToRawLongBits(double value) method of Double class */ public class DoubleToRawLongBits { public static void main(String[] args) { Double val1 = 1.35; Double val2 = 0.0/0.0; Double val3 = 4.3/0; Double val4 = -val1/0.0; /* * test all the possible scenario * on using the doubleToRawLongBits method */ out.println(val1 + " in long bits=" + Double.doubleToLongBits(val1)); out.println(val2 + " in long bits=" + Double.doubleToLongBits(val2)); out.println(val3 + " in long bits=" + Double.doubleToLongBits(val3)); out.println(val4 + " in long bits=" + Double.doubleToLongBits(val4)); } }
Sample Output :
Running the above example source code will give the following output
1.35 in long bits=4608758678669597082 NaN in long bits=9221120237041090560 Infinity in long bits=9218868437227405312 -Infinity in long bits=-4503599627370496