【发布时间】:2022-01-10 22:22:53
【问题描述】:
我想将可变长度的BitSet 数据转换为一个短裤数组。
BitSet -> short[]
bitset 的每四位应该用于构造一个新数字。
示例数据:
BitSet bits = new BitSet();
// 1101 = 13
bits.set(0, true);
bits.set(1, true);
bits.set(2, false);
bits.set(3, true);
// 0011 = 3
bits.set(4, false);
bits.set(5, false);
bits.set(6, true);
bits.set(7, true);
…
short[] numbers = …
【问题讨论】:
-
你能解释一下为什么
bits.toByteArray()对你不利吗? -
我需要这些数字进行进一步处理。使用字节将不起作用,因为它们将映射到 8 位。
-
你的位又倒退了。
1101 = 13 -
@Jotschi 你是对的!我很抱歉。重新打开。