java中的移位运算符心得总结
java中有三种移位运算符
<< : 左移运算符,num<<1,相当于num乘以2
>> : 右移运算符,num>>1,相当于num除以2
>>> : 无符号右移,忽略符号位,空位都以0补齐
下面来看看这些移位运算都是怎样使用的
/**
*
*/
packagecom.b510.test;
/**
*@authorJoneHongten
*@createdate:2013-11-2
*@version1.0
*/
publicclassTest{
publicstaticvoidmain(String[]args){
intnumber=10;
//原始数二进制
printInfo(number);
number=number<<1;
//左移一位
printInfo(number);
number=number>>1;
//右移一位
printInfo(number);
}
/**
*输出一个int的二进制数
*@paramnum
*/
privatestaticvoidprintInfo(intnum){
System.out.println(Integer.toBinaryString(num));
}
}
运行结果为:
1010
10100
1010我们把上面的结果对齐一下:
43210 位数--------
1010 十进制:10 原始数 number
10100 十进制:20 左移一位 number=number<<1;
1010 十进制:10 右移一位 number=number>>1;
看了上面的demo,现在是不是对左移和右移了解了很多了呢
对于:>>>
无符号右移,忽略符号位,空位都以0补齐
value>>>num -- num指定要移位值value移动的位数。
无符号右移的规则只记住一点:忽略了符号位扩展,0补最高位 无符号右移运算符>>>只是对32位和64位的值有意义
相关文章
- java二维数组试题_Java二维数组及习题总结
- 说一下java的运行机制_Java运行机制是什么?「建议收藏」
- java队列(Queue)用法总结[通俗易懂]
- 剑指offer Java_工程图学基础知识点总结
- 【说站】java反射机制提供哪些功能
- JAVA实验室设备管理系统代码_java做一个简单学生管理系统
- java事务_Java 事务详解[通俗易懂]
- java 调用win32 api 学习总结
- 【Java 网络编程】客户端 Socket 配置 ( 超时时间 | 端口复用 | Nagle 算法 | 心跳包机制 | 连接关闭机制 | 缓冲区大小 | 性能权重设置 | 紧急数据设置 )
- Java 中 MongoDB 使用指南详解大数据
- java压缩与解压(Java.util.zip)详解编程语言
- Java学习笔记之三十四超详解Java多线程基础编程语言
- Java NIO之Charset类字符编码对象详解编程语言
- Java Base64 编码解码方案总结详解编程语言
- Java问题-java进程占用内存过高,排查原因详解编程语言
- Java网站在Linux上的运行(java网站linux)
- Java监控MySQL性能:实现数据库运行优化(java监控mysql)
- 数据库Java查询Oracle数据库:一种快捷、可靠的解决方案(java查询oracle)
- MySQL与Java的数据交互之旅(mysql对应java)
- 如何在Linux中停止运行Java程序(linux停止java)
- Java 离开 Oracle,新的旅程即将开始(java没有Oracle)
- 堆栈探索Java构建Oracle堆栈的可能性(java建oracle)
- Oracle搭建Java开发环境的步骤(oracle中java)
- Sun认为C#不会替代Java
- Java虚拟机JVM性能优化(一):JVM知识总结