値 0xFF00 を (Java で) 2 バイトとして表す必要があります。私はこのようにしようとしています:
int val = 0xFF00;
bytearray[0] = (byte)((val >> 8) & 0xFF);
bytearray[1] = (byte)((val >> 0) & 0xFF);
Java のバイトは 0 ~ 255 の値を保持できることを知っています。したがって、配列の最初の要素の値は 255 で、2 番目の要素の値は 0 になるはずです。しかし、代わりに得ているのは -1 と 0 です。何が間違っていますか? この -1 の値は何を意味するのでしょうか?