java中的位移运算符
2016-07-24 17:55
281 查看
java中位移运算符有:<<(左移), >>(右移),>>>(无符号右移)
3的补码为:
00000000 00000000 00000000 00000011
左移两位:
(00)000000 00000000 00000000 0000001100(红色为丢弃的部分,绿色为补齐的部分)
则结果为;
00000000 00000000 00000000 00001100
转化为十进制为12:
结论:该数值位移为该数值位乘与2的位移次幂 3*2^2=12;
左移(左边最高位丢弃,右边补齐0)
System.out.println(3<<2);3的补码为:
00000000 00000000 00000000 00000011
左移两位:
(00)000000 00000000 00000000 0000001100(红色为丢弃的部分,绿色为补齐的部分)
则结果为;
00000000 00000000 00000000 00001100
转化为十进制为12:
结论:该数值位移为该数值位乘与2的位移次幂 3*2^2=12;
右移:(右边最高位丢弃,左边补齐1)
结论:该数值位移为该数值位除以与2的位移次幂 。无符号右移:(右边最高位丢弃,左边补齐0)
结论:正数时,与右移一致;负数时,像第一个一步一步推算就可以算出来:相关文章推荐
- JavaSE 高级 第13节 字符输出流OutputStreamWriter
- 使用IntelliJ IDEA开发SpringMVC网站(三)数据库配置
- 【原创】遨游springmvc之HandlerMapping
- JavaSE 高级 第12节 字符输入流InputStreamReader
- Java实现数组的快速排序(快速排序算法)
- eclipse中的快捷键
- Java基础知识强化之集合框架笔记78:ConcurrentHashMap之 ConcurrentHashMap、Hashtable、HashMap、TreeMap区别
- 小猫钓鱼游戏java实现
- Java-继承与构造函数
- eclipse提交项目到github
- Java基础知识强化之集合框架笔记77:ConcurrentHashMap之 ConcurrentHashMap的基本操作
- Velocity源码分析以及Spring集成
- JavaSE 高级 第11节 缓冲输入输出字节流
- 关于java.lang.IllegalMonitorStateException
- Java多线程研究03-线程的基本操作(notify,notifyAll,interrupt,join,sleep)
- Spring框架运行机制(控制反转,依赖注入,面向切面AOP)
- Java 注解
- JavaSE 高级 第10节 字节数组输出流ByteArrayOutputStream
- Eclipse中使用maven构建SpringMVC
- java反射详解