このコード行があります
int b1 = 0xffff & (content[12]<<8 | 0xff & content[11]);
リトルエンディアンの bytearray (content[]) があり、2 バイト値を再作成する必要があります。このコードは問題なく機能しますが、テストの前に次のように記述しました
int b1 = 0xffff & (content[12]<<8 | content[11]);
そして結果は正しくありませんでした。私の質問は、なぜこのシナリオで 0xff が必要なのですか?