Java Double ToLongBits()方法及示例
Java Double类中的 java.lang.Double.doubleToLongBits() 方法是java中的一个内置函数,它根据IEEE 754浮点 “双倍格式 “位布局返回指定浮点值的表示。
语法
public static long doubleToLongBits(double val)
参数: 该方法只接受一个参数val,指定一个双精度浮点数。
返回值: 该函数返回代表浮点数的比特。下面是一些特殊情况。
如果参数是正 无穷大 ,结果是 7ff0000000000000L。如果参数是负 无穷大 ,则结果为 0xfff0000000000000L。如果参数是 NaN ,结果是 0x7ff8000000000000L。下面的程序说明了java.lang.Double.doubleToLongBits()方法的使用。
程序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); }}输出。
1.5 in long bits: 4609434218613702656
程序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); }}输出。
Infinity in long bits: 9218868437227405312-Infinity in long bits: -4503599627370496NaN in long bits: 9221120237041090560
参考资料: https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#doubleToLongBits(double)
