博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
取右端4到7位
阅读量:6697 次
发布时间:2019-06-25

本文共 805 字,大约阅读时间需要 2 分钟。

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

public static void main(String[] args) {        int num = 465897;        String r = Integer.toBinaryString(num);        System.out.println("整数二进制值:"+r);        int num4 = num>>4;        String intr = Integer.toBinaryString(num4);   //二进制下标从零开始,即移除0-3位        System.out.println("整数左移四位:"+intr);        //0代表32位个0,        //~0代表32个1(11111111111111111111111111111111),        //~0 << 4代表向左移四位,末尾补0(11111111111111111111111111110000),        //~(~0 << 4)非代表取反(1111)        int b = ~(~0 << 4);    //0-3位移除后,末尾为4-7,所以要得到末尾四位的数即可        System.out.println(Integer.toBinaryString(b));        System.out.println("整数右端的4-7位为:"+Integer.toBinaryString(b&(num>>4)));       }

取右端4-7位是取二进制的4-7位,下标从零开始即

要想取这个数需要先右移4位,把4-7位放到末尾.

然后在用这个数&1111即可取到4-7位

转载于:https://www.cnblogs.com/aeolian/p/7977173.html

你可能感兴趣的文章
创建虚拟机所需的Bridge网络
查看>>
Flex 布局教程:语法
查看>>
ESXi主机管理内存资源的方式
查看>>
bash中(),{},(()),[],[[]]的区别
查看>>
002 exercises
查看>>
C语言打包解包文件程序(简易版)
查看>>
安装SQL2005只有配置工具或 错误码是29506 解决方案
查看>>
Oracle PL/SQL匿名块(三)
查看>>
Excel2007数据透视表学习(四)改变数据透视表布局
查看>>
多域资源整合之基础准备--DNS配置
查看>>
static 二次理解
查看>>
RHEL6.4 Keepalive+LVS(DR)部署文档
查看>>
spdk/dpdk 编译相关问题汇总
查看>>
模拟实现strstr
查看>>
解决Office系列安装不上的办法
查看>>
vimdiff的简单使用
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
工作两个月的感受随笔
查看>>
将博客搬至CSDN
查看>>