Java Double ToRawLongBits()方法及示例

来源:这里教程网 时间:2026-02-17 20:52:49 作者:

Java Double ToRawLongBits()方法及示例

Java Double类中的 doubleToRawLongBits() 方法是java中的一个内置函数,它根据IEEE 754浮点 “双倍格式 “位布局返回指定浮点值的表示, 并保留非数字(NaN)值。

语法

public static long doubleToRawLongBits(double val)

参数: 该方法只接受一个参数val,指定一个双精度浮点数。

返回值: 该函数返回代表浮点数的比特。下面是一些特殊情况。

如果参数是正 无穷大 ,结果是 7ff0000000000000L如果参数是负 无穷大 ,则结果为 0xfff0000000000000L如果参数是 NaN ,结果是 0x7ff8000000000000L

下面的程序说明了Double.doubleToRawLongBits()方法的使用。

程序1 :

// 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

程序2

// 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: -4503599627370496NaN in raw long bits: 9221120237041090560

参考资料: https://docs.oracle.com/javase/7/docs/api/java/lang/Double.html#doubleToRawLongBits(双倍)

相关推荐