El método java.lang.Double.doubleToLongBits() de la clase Java Double es una función integrada 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.
Sintaxis:
public static long doubleToLongBits(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 java.lang.Double.doubleToLongBits() :
Programa 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); } }
Producción:
1.5 in long bits: 4609434218613702656
Programa 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); } }
Producción:
Infinity in long bits: 9218868437227405312 -Infinity in long bits: -4503599627370496 NaN in long bits: 9221120237041090560
Referencia: https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#doubleToLongBits(doble)