Java Double doubleTorRawLongBits()方法与示例

Double类doubleTorRawLongBits()

  • doubleTorRawLongBits()方法在java.lang包中可用。

  • doubleTorRawLongBits()方法遵循IEEE 754双浮点标准,并且根据该标准,它返回表示浮点值的位以及保留NaN值。

  • doubleTorRawLongBits()方法是一个静态方法,也可以使用类名进行访问,而且,如果尝试使用类对象访问该方法,那么也不会出错。

  • 在表示位并保留NaN时,doubleTorRawLongBits()方法不会引发异常。

语法:

    public static long doubleToRawLongBits(double value);

参数:

  • double value –此参数表示双精度浮点值。

返回值:

此方法的返回类型很长,它返回表示双精度浮点值的位。

注意:

  • 如果我们传递正无穷大,它将返回值0x7ff0000000000000L

  • 如果我们传递负无穷大,它将返回值0xfff0000000000000L

  • 如果我们传递NaN,它将返回实际的NaN值(即,它不会将编码NaN的所有位都折叠为“基本” NaN值)。

示例

//Java程序演示示例 
//的doubleToRawLongBits(双精度值)
//双班方法

public class DoubleToLongBitsOfDoubleClass {
    public static void main(String[] args) {
        //变量初始化
        double value1 = 18.20;
        double value2 = 19.20;

        //显示value1,value2值
        System.out.println("value1: " + value1);
        System.out.println("value2 :" + value2);

        //它返回由double表示的位 
        //浮点参数 
        //Double.doubleToRawLongBits(value1)
        long result1 = Double.doubleToRawLongBits(value1);
        long result2 = Double.doubleToRawLongBits(value2);

        //显示结果1,结果2的值
        System.out.println("Double.doubleToRawLongBits(value1): " + result1);
        System.out.println("Double.doubleToRawLongBits(value2): " + result2);
        System.out.print("Double.doubleToRawLongBits(NaN): ");
        System.out.println(Double.doubleToRawLongBits(5.0 % 0));
    }
}

输出结果

value1: 18.2
value2 :19.2
Double.doubleToRawLongBits(value1): 4625816062258262835
Double.doubleToRawLongBits(value2): 4626097537234973491
Double.doubleToRawLongBits(NaN): 9221120237041090560