参照(Double to byte[])它包含了我需要的问题和解决方案。回复:将Double转换为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);
卷入?
你问运营商做什么? –