Java での型変換に再び苦労しています... から 5 バイトの値を読み取り、ByteBuffer
その値を に格納する必要がありlong
ます。
したがって、私はこれをしました:
byte msb = b.get();
int lsb = b.getInt();
System.out.println(msb + " " + lsb);
long number = ((msb << 32)) | (((long) lsb) & 0xFFFFFFFF);
System.out.println(number);
ログには次の結果が表示されます。
1 376263385
376263385
したがって、msb と lsb は正しく読み取られますが、それらを結合すると、そこに lsb 値しか取得されません。値をビットマスクして、さまざまなタイプから読み取ろうとしましたが、それもうまくいきません。