大侠好,小弟有个问题需要请教下
有一个数组比如
byte[] rec=new byte [4];
rec[0] = 1;//十六进制是01
rec[1] = 20;//十六进制是14
rec[2] = 75;//十六进制是4B
rec[3] = 120;//十六进制是78
//如何将rec 转换成如下ut的形式
UInt32 ut = 0x01144B78;
------解决思路----------------------
static uint FromByteBE(byte[] bs)
{
return (uint)((bs[0] << 24) + (bs[1] << 16) + (bs[2] << 8) + bs[3]);
}
------解决思路----------------------
漏了个参数
ut = BitConverter.ToUInt32(rec, 0)
------解决思路----------------------
转换时移位操作就行了
private void button1_Click(object sender, EventArgs e)
{
byte[] rec = new byte[4];
rec[0] = 1;//十六进制是01
rec[1] = 20;//十六进制是14
rec[2] = 75;//十六进制是4B
rec[3] = 120;//十六进制是78
int ut = bytesToInt(rec, 0);
}
//字节转int
public static int bytesToInt(byte[] src, int offset)
{
int value;
value = (int)(((src[offset] & 0xFF) << 24)
------解决思路----------------------
((src[offset + 1] & 0xFF) << 16)
------解决思路----------------------
((src[offset + 2] & 0xFF) << 8)
------解决思路----------------------
(src[offset + 3] & 0xFF));
return value;
}