об Float64 - число передаётся как 12 байт, в документации не описано что это именно. Как бы мне его распарсить?
public static long doubleToLongBits(double value) { long result = doubleToRawLongBits(value); // Check for NaN based on values of bit fields, maximum // exponent and nonzero significand. if ( ((result & DoubleConsts.EXP_BIT_MASK) == DoubleConsts.EXP_BIT_MASK) && (result & DoubleConsts.SIGNIF_BIT_MASK) != 0L) result = 0x7ff8000000000000L; return result; } public void writeDouble(double v) throws IOException { writeLong(Double.doubleToLongBits(v)); }
Нет, Float64 - ровно 8 байт (как double в родном представлении в памяти).
Обсуждают сегодня