Để chuyển đổi một mảng byte để một đôi Tôi thấy điều này:Làm thế nào tôi có thể chuyển đổi một mảng byte thành một double và back?
//convert 8 byte array to double
int start=0;//???
int i = 0;
int len = 8;
int cnt = 0;
byte[] tmp = new byte[len];
for (i = start; i < (start + len); i++) {
tmp[cnt] = arr[i];
//System.out.println(java.lang.Byte.toString(arr[i]) + " " + i);
cnt++;
}
long accum = 0;
i = 0;
for (int shiftBy = 0; shiftBy < 64; shiftBy += 8) {
accum |= ((long)(tmp[i] & 0xff)) << shiftBy;
i++;
}
return Double.longBitsToDouble(accum);
Nhưng tôi không thể tìm thấy bất cứ điều gì mà sẽ chuyển đổi một đôi vào một mảng byte.
Bạn muốn bao nhiêu byte? Nó sẽ là có thể, về mặt kỹ thuật, để tạo ra một mảng các byte mà mỗi cái chỉ giữ một bit thông tin, ví dụ. – Pops
Pops: Tôi nghĩ rằng nó là công bằng để ngụ ý rằng Octavian chỉ muốn số byte cần thiết để lưu trữ một đại diện đầy đủ của một đôi tức là phù hợp với đại diện đôi nội bộ. Trong Java, điều này có thể được tính bằng (int) (Double.Size/Byte.Size). –