从字节数组中检索16位大端值?

时间:2011-08-24 17:50:14

标签: c# bytearray endianness

我有一个大端字节顺序的无符号16位整数:0x01f1但是它们在字节数组中如下:

    Array
  [0]  0x01
  [1]  0xf1 

如何将Array [0]与Array [1]“连接”,这样我的值可以回到0x01f1?

2 个答案:

答案 0 :(得分:4)

您可以使用shift and bitwise operators组合两个数组元素,如下所示:

byte[] array = new byte[] { 0x01, 0xF1 };

int result = (array[0] << 8) | array[1];
// result == 0x01F1

答案 1 :(得分:0)

使用左移操作符如下:

int myNum = a[0];
myNum = (myNum<<8);
myNum = myNum | a[1];