Java - Double doubleToRawLongBits() 方法



描述

Java Double doubleToRawLongBits() 方法根据 IEEE 754 浮点数“双精度格式”位布局返回指定浮点值的表示形式,保留非数字 (NaN) 值。它包含以下要点:

  • 如果参数是正无穷大,则结果为 0x7ff0000000000000L。
  • 如果参数是负无穷大,则结果为 0xfff0000000000000L。
  • 如果参数是 NaN,则结果是表示实际 NaN 值的长整数。与 doubleToLongBits 方法不同,doubleToRawLongBits 不会将所有编码 NaN 的位模式折叠为单个“规范”NaN 值。

声明

以下是 java.lang.Double.doubleToRawLongBits() 方法的声明

public static long doubleToRawLongBits(double value)

参数

value − 这是一个双精度浮点数。

返回值

此方法返回表示浮点数的位。

异常

从具有正值的 Double 对象获取长位示例

以下示例演示了如何使用 Double doubleToRawLongBits() 方法获取给定正双精度值的 long 位格式。我们使用给定的正双精度值初始化了一个 Double 对象。然后使用 doubleToRawLongBits() 方法,我们将它的值以长位格式打印出来。

package com.tutorialspoint;
public class DoubleDemo {
   public static void main(String[] args) {

      Double d = new Double("15.30");
   
      //returns the bits that represent the floating-point number
      System.out.println("Value = " + Double.doubleToRawLongBits(d));  
   }
} 

输出

让我们编译并运行上述程序,这将产生以下结果:

Value = 4624802752342104474

从具有负值的 Double 对象获取长位示例

以下示例演示了如何使用 Double doubleToRawLongBits() 方法获取给定负双精度值的 long 位格式。我们使用给定的负双精度值初始化了一个 Double 对象。然后使用 doubleToRawLongBits() 方法,我们将它的值以长位格式打印出来。

package com.tutorialspoint;
public class DoubleDemo {
   public static void main(String[] args) {
      Double d = new Double("-15.30");
   
      //returns the bits that represent the floating-point number
      System.out.println("Value = " + Double.doubleToRawLongBits(d));  
   }
} 

输出

让我们编译并运行上述程序,这将产生以下结果:

Value = -4598569284512671334

从具有零值的 Double 对象获取长位示例

以下示例演示了如何使用 Double doubleToRawLongBits() 方法获取给定零双精度值的 long 位格式。我们使用给定的正零值初始化了一个 Double 对象。然后使用 doubleToRawLongBits() 方法,我们将它的值以长位格式打印出来。

package com.tutorialspoint;
public class DoubleDemo {
   public static void main(String[] args) {
      Double d = new Double("0.0");
   
      //returns the bits that represent the floating-point number
      System.out.println("Value = " + Double.doubleToRawLongBits(d));  
   }
} 

输出

让我们编译并运行上述程序,这将产生以下结果:

Value = 0

从具有负零值的 Double 对象获取长位示例

以下示例演示了如何使用 Double doubleToRawLongBits() 方法获取给定负零双精度值的 long 位格式。我们使用给定的负零值初始化了一个 Double 对象。然后使用 doubleToRawLongBits() 方法,我们将它的值以长位格式打印出来。

package com.tutorialspoint;
public class DoubleDemo {
   public static void main(String[] args) {
      Double d = new Double("-0.0");
   
      //returns the bits that represent the floating-point number
      System.out.println("Value = " + Double.doubleToRawLongBits(d));  
   }
} 

输出

让我们编译并运行上述程序,这将产生以下结果:

Value = -9223372036854775808
java_lang_double.htm
广告