我将尝试在Java中对一个
例如,我正在运行以下代码:
byte
值执行按位或操作。例如,我正在运行以下代码:
byte b = (byte)0b11111111;
int result = 0 | b;
我期望的结果应该是0b00000000 00000000 00000000 11111111
,或者255
。但是我收到了-1
,或者0b11111111 11111111 11111111 11111111
。
我猜想Java在执行操作之前通过符号扩展将我的byte
转换为int
,我只是好奇是否有一种方法可以在不使用位掩码(0b11111111
)的情况下获得我想要的结果。