現在、変数に設定したい16ビット(2つの別々のバイト)があります。BitSetオブジェクトを使用してビットを保持しましたが、Java 1.7にはtoByteArray()メソッドがありますが、以前のバージョンのJavaで機能するものが必要です。BitSetを使用する必要はありませんが、(可能であれば)使用することをお勧めします。
誰かが01101011のようなものをバイトに書く方法を教えてくれれば、それで十分だと思います。ありがとう!
このコードを使用して、次のことを行うことができます。
public static byte convert(BitSet bits, int offset) {
byte value = 0;
for (int i = offset; (i < bits.length() && ((i + offset) < 8)) ; ++i) {
value += bits.get(i) ? (1 << i) : 0;
}
return value;
}
したがって、2バイトを変換するには、次のようにします。
BitSet b = ....;
byte b1 = Helper.convert(b, 0);
byte b2 = Helper.convert(b, 8);