小编bra*_*ber的帖子

Java Bitwise或Byte和Int之间

我试图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)的情况下获得我想要的结果.

java binary bit-manipulation twos-complement sign-extension

5
推荐指数
1
解决办法
880
查看次数