取一个整数a从右端开始的4~7位

* 题目:取一个整数a从右端开始的4~7位。
*
* 程序分析:可以这样考虑:
*
* (1)先使a右移4位。
*
* (2)设置一个低4位全为1,其余全为0的数。可用~(~0 <<4)
*
* (3)将上面二者进行&运算。

 

public class 第三十二题取一个整数的右端4到7位 {
    public static void main(String[] args) {
        System.out.println("请输入一个7位以上的数字");
        Scanner in = new Scanner(System.in);
        long result; //结果
        long n = in.nextLong();
        long b = 15; // 生成二进制数 0000 0000 0000 1111
        n = n >> 4;
        result = n & b;
        System.out.println("取右端4到7位为:" + result);
        in.close();
        
    }
}

 

posted @ 2019-05-30 15:07  何茫然zju  阅读(1783)  评论(0编辑  收藏  举报