0

我正在为一个阅读器类写一个测试。我有一个 ByteBuffer 作为阅读器的来源,我用 32 个随机字节对其进行初始化。然后我创建一个以 ByteBuffer 为初始值的 BitBuffer。

这是我拥有的字节 []:

[-35, -15, 33, -71, -107, 4, -68, 60, -47, -116, -85, -3, -86, -16, 51, 77, 22, -47, -41, 64, 50, 38, -6, -110, 69, 87, -38, -101, 58, 15, 70, 66]

当我手动将其翻译成位时,输出应该是

1101 1101 1111 0001 0010 0001 1011 1001 1011 1001 1001 0101 0000 0100 1011 1100 ...

我希望设置 BitSet 位 0、1、3、4、5、7 ...,但在调试显示中显示

{0, 2, 3, 4, 6, 7, 8, ....

我真的看不到这种匹配,但我不明白为什么。你可以解释吗?

4

1 回答 1

0

它似乎将第 0 位作为最左边字节的最右边位,向后遍历字节中的位,然后向前遍历字节。

字节 0、2、3、4、6 和 7 被设置:

7654 3210
1101 1101

然后设置第 8 位(从左数第二个字节的最右边)...

于 2013-05-01T23:04:03.260 回答