【发布时间】:2011-08-24 17:50:13
【问题描述】:
我有一个大端字节序的无符号 16 位整数:0x01f1,但它们位于字节数组中,如下所示:
Array
[0] 0x01
[1] 0xf1
如何将 Array[0] 与 Array[1] “加入”,以便我可以恢复我的 0x01f1 值?
【问题讨论】:
标签: c# bytearray endianness
我有一个大端字节序的无符号 16 位整数:0x01f1,但它们位于字节数组中,如下所示:
Array
[0] 0x01
[1] 0xf1
如何将 Array[0] 与 Array[1] “加入”,以便我可以恢复我的 0x01f1 值?
【问题讨论】:
标签: c# bytearray endianness
您可以使用shift and bitwise operators 组合两个数组元素,如下所示:
byte[] array = new byte[] { 0x01, 0xF1 };
int result = (array[0] << 8) | array[1];
// result == 0x01F1
【讨论】:
使用左移运算符如下:
int myNum = a[0];
myNum = (myNum<<8);
myNum = myNum | a[1];
【讨论】: