我试图byte在Java中执行按位或值.
例如,我正在运行:
byte b = (byte)0b11111111;
int result = 0 | b;
Run Code Online (Sandbox Code Playgroud)
我的预期结果是0b00000000 00000000 00000000 11111111,或255.但是,我收到了-1,或者0b11111111 11111111 11111111 11111111.
我假设Java 在执行操作之前将我byte转换为intvia符号扩展名,我只是好奇是否有办法在不使用位掩码(0b11111111)的情况下获得我想要的结果.