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进行按位与运算

本文作者:TranquilGlow

本文链接:https://www.cnblogs.com/xuehaiqiule/p/17633618.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   TranquilGlow  阅读(43)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起