0

字节:240 255 255 9 0 224 9 0

f0 ff ff 09 00 E0 09 00

Little endian unsigned int 64 翻译:

00 09 E0 00 09 ff ff f0

int value1 = 0-19 bits  
int value2 = 20-39 bits 
int value3 = 40-59 bits
int value4 = 60-62 bits 
bool value5 = 63 bit

value1 = (uint)(byteArray[0] | byteArray[1] << 8 | (byteArray[2] << 16)) & 0x14;

我这样做正确吗?我一直得到 0 的值,但应该是 158。

4

1 回答 1

1

计算中的最后一个操作是& 0x14。这将按位对0001 0100. 您正在寻找前 20 位,因此您的掩码应该是0xfffff.

于 2013-07-22T17:12:37.917 回答