byte类型的数据进行扩大范围

Java中的整型是有符号的。但是,如果你使用的值不可能是负值,并E实际需要额外一个比特,那么你可以使用将数值翻译成无符号类型的方法。例如,不用范围为-128127的byte类型值,你可能需要的范围为0255的值。你可以将数值存储在byte中,源于二进制运算的本质,某些操作,例如加和减可以工作。对于其他操作,调用Byte.toUnsignedInt(b)方法,可以获得0~255的整数值。

其中这个方法的源码是

  public static int toUnsignedInt(byte x) {
        return ((int) x) & 0xff;
    }

可以得到这个方法本质上就是将其转化为整型数据之后,然后与11111111进行按位与

其中这个计算的方法是先将这个x写成二进制的时候,然后我们用这个原码的补码进行与11111111进行按位与运算

posted @ 2023-08-16 11:35  TranquilGlow  阅读(54)  评论(0)    收藏  举报