簡體   English   中英

用byte []初始化的BitSet返回意外位

[英]BitSet initialized with byte[] returns unexpected bits

我正在為一些讀者類編寫測試。 我有一個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, ....

我看不到這種匹配,但我不明白為什么。 你可以解釋嗎?

它似乎將第0位作為最左邊字節的最右邊位,向后遍歷一個字節中的位,然后向前遍歷這些字節。

字節0、2、3、4、6和7被設置:

7654 3210
1101 1101

然后設置第8位(從左數第二個字節的最右位)...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM