我有兴趣将双打印成原始十六进制。我不想解释尾数和指数。
Java中是否有打印功能来完成它?
如果没有,如何从Java中的double中提取原始八位字节?
答案 0 :(得分:3)
答案 1 :(得分:2)
首先,使用Double.doubleToLongBits()或Double.doubleToRawLongBits()来获取这些位。
但是,如果您想打印这些位,如果您有Java 8,我建议您使用新的无符号API将long
转换为String
,可能使用16或2。 / p>
double number = Math.E;
long bits = Double.doubleToRawLongBits(number);
System.out.println(Long.toUnsignedString(bits, 16)); // 4005bf0a8b145769