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
廣告