public static double decodeFloat64(PositionedByteRange src) {
    final byte header = src.get();
    assert header == FIXED_FLOAT64 || header == DESCENDING.apply(FIXED_FLOAT64);
    Order ord = header == FIXED_FLOAT64 ? ASCENDING : DESCENDING;
    long val = ord.apply(src.get()) & 0xff;
    for (int i = 1; i < 8; i++) {
      val = (val << 8) + (ord.apply(src.get()) & 0xff);
    }
    val ^= (~val >> (Long.SIZE - 1)) | Long.MIN_VALUE;
    return Double.longBitsToDouble(val);
  }
Decode a 64-bit floating point value using the fixed-length encoding.
@see #encodeFloat64(PositionedByteRange, double, Order)
hbase-common/src/main/java/org/apache/hadoop/hbase/util/OrderedBytes.java