我正在使用以下代码进行转换:
public static BitSet fromByte(byte b){
BitSet bs = new BitSet(8);
for (int i=0; i<8; i++){
if ((b & (1 << i)) > 0){
bs.set(i);
}
}
int length = bs.length();
return bs;
}
输出是 {0, 3, 4, 5, 6}(来自 bs 的调试器显示) - 设置位的索引。我认为这应该表示长度为 7 的 1001111,但这是错误的,因为 1001111 是 79,而不是 121。另外我希望长度为 8。基本上我想要一个长度为 8 的 bitSet,它正确地表示任何字节数。我的期望是 01111001 和调试器的显示显示 {1,2,3,4,5,7}