Java で持っている値に対してビット単位または値を実行しようとしてbyte
います。
たとえば、私は実行しています:
byte b = (byte)0b11111111;
int result = 0 | b;
これに対する私の期待される結果は0b00000000 00000000 00000000 11111111
、または255
です。しかし、私は-1
、またはを受け取ってい0b11111111 11111111 11111111 11111111
ます。
byte
操作を実行する前に Java が myをint
via 記号拡張に変換すると仮定しています0b11111111
。