0

9 ビットを必要とする 1 つの数値があり、ビットは 2 バイト (最上位バイトと最下位バイト) に広がります。
MSB は次のようになります。

0?????[Bit8][Bit7]

LSB は次のようになります。

0[Bit6][Bit5][Bit4][Bit3][Bit2][Bit1][Bit0]  

マイナンバーはBit0からBit8までの9ビットで構成されています。?1 または 0 を示します。

では、どうすれば自分の番号を取得できますか?
MSB のビットを 7 ビット左にシフトし、それを LSB と組み合わせて 16 ビットの数値を形成することを考えることができます。ただし、MSB を 7 ビット左にシフトするときに Bit8 が失われないようにするにはどうすればよいですか?

4

2 に答える 2

1

さらに、 BitSet クラス http://docs.oracle.com/javase/7/docs/api/java/util/BitSet.htmlを試すことができます

任意のビット長で作業するため [ここではサイズ 9 の例]

于 2013-08-14T16:10:07.197 に答える