El método doubleToRawLongBits() de la clase Java Double es una función incorporada en Java que devuelve una representación del valor de punto flotante especificado de acuerdo con el diseño de bits de «formato doble» de punto flotante IEEE 754 que conserva Not-a-Number (NaN ) valores.
Sintaxis:
public static long doubleToRawLongBits(double val)
Parámetro: el método acepta solo un parámetro val que especifica un número de coma flotante de precisión doble.
Valores devueltos: la función devuelve los bits que representan el número de coma flotante. A continuación se muestran los casos especiales:
- Si el argumento es infinito positivo , el resultado es 7ff0000000000000L .
- Si el argumento es infinito negativo , el resultado es 0xfff0000000000000L .
- Si el argumento es NaN , el resultado es 0x7ff8000000000000L .
Los siguientes programas ilustran el uso del método Double.doubleToRawLongBits() :
Programa 1:
Java
// Java program to demonstrate // Double.doubleToRawLongBits() method import java.lang.*; class Gfg1 { public static void main(String args[]) { double val = 1.5d; // function call long answer = Double.doubleToRawLongBits(val); // print System.out.println(val + " in raw long bits: " + answer); } }
1.5 in raw long bits: 4609434218613702656
Programa 2:
Java
// Java program to demonstrate // Double.doubleToRawLongBits() 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.doubleToRawLongBits(val); // print System.out.println(val + " in raw long bits: " + answer); // function call answer = Double.doubleToRawLongBits(val1); // print System.out.println(val1 + " in raw long bits: " + answer); // function call answer = Double.doubleToRawLongBits(val2); // print System.out.println(val2 + " in raw long bits: " + answer); } }
Infinity in raw long bits: 9218868437227405312 -Infinity in raw long bits: -4503599627370496 NaN in raw long bits: 9221120237041090560
Referencia: https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#doubleToRawLongBits(doble)