2011-08-24 36 views
1

我在大端字节序的16位无符号整数:0x01f1但它们在一个字节数组,如下所示:从字节数组中检索16位大端值?

Array 
    [0] 0x01 
    [1] 0xf1 

如何“加入”数组[0]与阵列[1]这样的我可以将我的价值0x01f1回来?

回答

4

可以使用shift and bitwise operators到两个数组元素如下结合:

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

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

使用左移位运算符如下:

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