C# 如何将字节数组转换为int32

C# 如何将字节数组转换为int32,c#,C#,请帮助我使用c#将中的字节数组转换为int32 我使用了下面的代码,但没有得到确切的值 byte[] newArray3 = new[] { buffer[m+2], buffer[m+3], buffer[m], buffer[m+1] }; int t = BitConverter.ToInt32(newArray3,0); 提前谢谢 *15 14 13 12 11 10 9 8* * 7 6 5 4 3 2 1 0** Word1…Smsb…缓冲区[m+1]缓冲区[m]…

请帮助我使用c#将中的字节数组转换为int32

我使用了下面的代码,但没有得到确切的值

byte[] newArray3 = new[] { buffer[m+2], buffer[m+3], buffer[m], buffer[m+1] }; 
int t = BitConverter.ToInt32(newArray3,0);
提前谢谢

      *15 14 13 12 11 10 9 8* * 7 6 5 4 3 2 1 0**
Word1…Smsb…缓冲区[m+1]缓冲区[m]……


word2..缓冲区[m+3]...buffer[m+2]。。。。。。。。。lsb

改用位移位

m[0] << 24 || m[1] << 16 || m[2] << 8 || m[3]

m[0]除非需要更改MSB位置,否则请使用

BitConverter.ToInt32(buffer, m);
不需要将数据复制到中间的另一个字节数组


如果您确实需要更改尾数,则必须按照上面的LB2建议使用位移位。

类似的问题:通过
buffer[m+3]
buffer[m]
中的值是什么,那么您希望返回的值是什么?@CodesInChaos您可以随时检查硬件是否符合您的需要,并且仅在不适合您的需要时使用手动位ORing。