tôi đang làm ứng dụng trong C#. Trong ứng dụng đó tôi có mảng byte chứa giá trị hex.Làm thế nào để có được ít dữ liệu cuối cùng từ endian lớn trong C# sử dụng phương thức bitConverter.ToInt32?
Ở đây tôi đang nhận dữ liệu như một người cuối lớn nhưng tôi muốn nó như là một người cuối cùng nhỏ.
Ở đây tôi đang sử dụng phương pháp Bitconverter.toInt32
để chuyển đổi giá trị đó thành số nguyên. Tuy nhiên, vấn đề của tôi là trước khi chuyển đổi giá trị, tôi phải sao chép dữ liệu 4 byte đó thành mảng tạm thời từ mảng byte nguồn và sau đó đảo ngược mảng byte tạm thời đó.
Tôi không thể đảo ngược mảng nguồn vì nó cũng chứa dữ liệu khác.
Do đó, đơn đăng ký của tôi trở nên chậm. mã Ở đây tôi có một mảng nguồn byte là waveData [] .Nó chứa rất nhiều dữ liệu.
byte[] tempForTimestamp=new byte[4];
tempForTimestamp[0] = waveData[290];
tempForTimestamp[1] = waveData[289];
tempForTimestamp[2] = waveData[288];
tempForTimestamp[3] = waveData[287];
int number = BitConverter.ToInt32(tempForTimestamp, 0);
Có phương pháp nào khác cho chuyển đổi đó không?
Các hình thức đầu tiên không làm việc cho tôi mà không một '.ToArray() 'sau' Đảo ngược()'. – heltonbiker