打印双倍原始十六进制?

时间:2014-09-07 19:54:57

标签: java double hex

我有兴趣将双打印成原始十六进制。我不想解释尾数和指数。

Java中是否有打印功能来完成它?

如果没有,如何从Java中的double中提取原始八位字节?

2 个答案:

答案 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