次のコードを使用して変換を行っています。
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 は 121 ではなく 79 であるため、間違っています。私の予想は 01111001 で、デバッガーの表示は {1,2,3,4,5,7} と表示されます