2 バイトの場合、最初のバイトから最初の 3 ビットを取得し、2 番目のバイトから最後の 5 ビットを取得して新しいバイトを作成する方法は?
たとえば、11100000
and 00011111
==>の場合はどうでしょう11111111
か?
私はJavaを使用しています。
2 バイトの場合、最初のバイトから最初の 3 ビットを取得し、2 番目のバイトから最後の 5 ビットを取得して新しいバイトを作成する方法は?
たとえば、11100000
and 00011111
==>の場合はどうでしょう11111111
か?
私はJavaを使用しています。
byte b1, b2;
最初の 3 ビットを取得します。b1 & 0xE0
最後の 5 ビットを取得します。b2 & 0x1F
連結:b1 | b2
マスク0xE0
(11100000) と0x1F
(00011111) を使用すると、不要なビットをビットごとに、または一緒にマスクすることができます。
byte b1 = 123; // 01111011
byte b2 = 50; // 00110010
byte b3 = (b1 & 0xE0) | (b2 & 0x1F); // = 114 01110010
(b1 & 0xe0) | (b2 & 0x1f)