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