Tôi phải chuyển đổi các giá trị (double/float trong C#) để byte và cần một số giúp đỡ ..
// Datatype dài 4byte -99999999,99 để 99999999,99
// Datatype dài 4byte -99999999,9 để 99999999,9
// Datatype 2byte ngắn -999,99 đến 999,99
// Datatype 2byte ngắn -999,9 để hạt 999,9
Trong tôi " thế giới ở nhà "tôi sẽ chỉ chuỗi nó và ASCII.GetBytes().
Nhưng bây giờ, trong thế giới này, chúng ta phải tạo ra ít không gian có thể.
Và thực tế là '-99999999,99' mất 12 byte thay vì 4 byte! nếu đó là kiểu dữ liệu 'dài'.Chuyển đổi kiểu dữ liệu 'dài' để byte mảng
[EDIT]
Do một số sự giúp đỡ và trả lời tôi đính kèm một số kết quả ở đây,
long lng = -9999999999L;
byte[] test = Encoding.ASCII.GetBytes(lng.ToString()); // 11 byte
byte[] test2 = BitConverter.GetBytes(lng); // 8 byte
byte[] mybyt = BitConverter.GetBytes(lng); // 8 byte
byte[] bA = BitConverter.GetBytes(lng); // 8 byte
Vẫn phải một chi tiết còn lại để tìm hiểu. Giá trị lng-variabel nhận được 8 byte ngay cả khi nó có giá trị thấp hơn, tức là 99951 (tôi sẽ không bao gồm mẫu ToString()).
Nếu giá trị thậm chí còn "ngắn hơn", nghĩa là -999,99 - 999,99, nó sẽ chỉ mất khoảng 2 byte.
[END EDIT]
Bạn biết rằng dài và ngắn là loại không thể thiếu, vì vậy không có số thập phân, phải không? Và đó là một dài là 8 byte, không phải 4! Đó là "int". – xanatos
Tôi ngạc nhiên khi có bao nhiêu câu trả lời khi câu hỏi thậm chí không có ý nghĩa. Anh ta có gì và anh ta đang cố gắng làm gì? –
@xanatos Điểm của bạn đáng nói đến. Các giá trị được nổi trong đầu (nhưng đó là một câu hỏi khác). – Independent