Java Double doubleToRawLongBits() 方法

2024 年 11 月 10 日 | 阅读 2 分钟

Double 类的 doubleToRawLongBits() 方法根据 IEEE 754 浮点数“双精度格式”的位布局返回一个浮点值,保留 Not-a-Number(NaN) 值。

语法

参数

Value 是作为参数传递的 double,它是一个双精度浮点数。

返回值

doubleToLongBits(double value) 方法返回表示该浮点数的位。

  • 如果参数是正无穷大,则返回 0x7ff0000000000000L。
  • 如果参数是负无穷大,则返回 0xfff0000000000000L。
  • 如果参数是 NaN,则返回表示实际 NaN 值的长整型。doubleToRawLongBits() 方法不会将编码 NaN 的位模式折叠成一个单一的“标准”NaN 值。

示例 1

输出

5.5 value in  Raw long bits = 4617878467915022336
NaN value in Raw long bits =9221120237041090560
Infinity value in Raw long bits =9218868437227405312
-Infinity value in Raw long bits=-4503599627370496

示例 2

输出

Error:(13, 21) java: cannot find symbol
  symbol:   method doubleToLongBits(double)
  location: variable obj of type com.interf.Double_doubleToRawLongBitsMethod_Example2

Double 是一个原始数据类型。其对象不能用于调用 Double 类的方法。如果这样做,将会出现上述错误。

示例 3

输出

-6.58768566756756E7value in Raw long bits = -4499261384967075684
7658659.78678 value in Raw long bits = 7658659.78678