美文网首页
使用逻辑与取出byte中的前4位和后4位

使用逻辑与取出byte中的前4位和后4位

作者: 懵智的大仁哥 | 来源:发表于2016-02-27 21:30 被阅读1988次

    说起逻辑与,在Java中有两种运算符,分别是&和&&.
    对于这两种与,在实际应用有所不同,&用于对数字进行按位与,而&&用于对两个布尔表达式进行与操作.
    由上一句话可知,&用于两个数,如果是两个表达式,必须先计算出两个表达式.
    而&&用于两个布尔表达式,如果第一个表达式为假,则不计算第二个布尔表达式.这张现象称为 逻辑短路 .
    在实际应用中,&&常出现在条件判断语句中,而&则用取一串二进制数中的某些数.
    下面,我们将利用&取出一个byte类型变量中的前4位以及后4位,并用0~F(十六进制)表示.

    假设:这个变量的值为 195 11000011 则前4位为1100 0x0A 后四位为0011 0x03

    /*
     *取一个字节中的前4位与后四位
    */
    class Get{
        public static void main(String args[]){
        byte number =(byte)195;
        System.out.println(get(number));
        }
        public static String get(byte number){
        // 00001111用于取出后四位
        byte num=15;
        char[ ] arr=new char[]{'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};
        int behind=number#
        int front=(number>>4&num);  //将高位移到低位再取值
        return "前四位:"+arr[front]+" 后四位:"+arr[behind];
        }
    }
    

    结果:


    前四位:C 后四位:3

    相关文章

      网友评论

          本文标题:使用逻辑与取出byte中的前4位和后4位

          本文链接:https://www.haomeiwen.com/subject/zawwkttx.html