Вы можете преобразовать double
в long
и сохранить его двоичное представление (а не значение), используя следующие методы: doubleToLongBits()
, doubleToRawLongBits()
и longBitsToDouble()
.
Вы также можете использовать ByteBuffer вот так:
import java.nio.ByteBuffer;
public class ByteShow {
public static void showBytes(ByteBuffer bb) {
byte[] bytes = bb.array();
for (byte b : bytes) {
System.out.format("0x02%x ", b);
}
System.out.println();
}
public static void main(String[] args) {
showBytes(ByteBuffer.allocate(4).putInt(0x12345678));
showBytes(ByteBuffer.allocate(8).putDouble(Math.PI))
showBytes(ByteBuffer.allocate(2).putChar('@'));
}
}
который выводит:
0x12 0x34 0x56 0x78
0x40 0x09 0x21 0xfb 0x54 0x44 0x2d 0x18
0x00 0x40
Смотрите также этот пост .