【发布时间】:2013-12-09 04:51:41
【问题描述】:
参考 (Double to byte[]) 它包含了我需要的问题和解决方案。
private byte[] convert(Double d) {
byte[] output = new byte[8];
Long lng = Double.doubleToLongBits(d);
for (int i = 0; i < 8; i++) {
output[i] = (byte)((lng >> ((7 - i) * 8)) & 0xff);
}
return output;
}
但我不知道它是如何/为什么工作的,我知道循环将构成 Double 的 8 个字节中的每一个分配给数组。但我不明白字节是如何构造的。有人可以向我解释以下表达式吗?
((lng >> ((7 - i) * 8)) & 0xff);
为什么Double.doubleToLongBits(d); 参与其中?
【问题讨论】:
-
你问运营商是做什么的?
标签: java type-conversion double byte