在Java中“转移负字节”的最佳方法

时间:2015-04-13 09:43:39

标签: java bit-manipulation byte bit-shift shift

当我尝试右移一个负字节时,我意识到在执行移位之前它已转换为int。

byte bVar = (byte)-1;
System.out.println(bVar >>> 1);// this prints 2147483647

但是我想“转移负字节”,好像零被附加到重要的一面。

目前我这样做。 127是我想要的结果。

System.out.println((bVar & 0xFF) >>> 1);// this prints 127

但这看起来并不是那么简单。它涉及3个步骤(转换和2个运算符)。

有更好的方法吗?

0 个答案:

没有答案