位运算符操作
来源:互联网 发布:unity3d底层 编辑:程序博客网 时间:2024/05/18 10:29
package testJava.bit;public class 位运算符操作 {/** * gefei add 2014-3-19 19:15:52 * 鸣谢: 李东亮 * 参考: http://blog.csdn.net/lidongliang00001/article/details/21447495#comments * */public static void main(String[] args) {int i = 2;// int有4个byte,1个byte有8个bit,所以int有32个bit// i换成32位2进制数,整体向左移2位(2位最低位补0,2位最高位直接被屏蔽【最高位=1是负数,=0是正数】),然后把最终的值赋给iSystem.out.println(i<<=2);// i换成32位2进制数,整体向左移8位(8位最低位补0,8位最高位直接被屏蔽【最高位=1是负数,=0是正数】),然后把最终的值赋给iSystem.out.println(i<<=8);byte j = 8;// j换成8位2进制数,整体向右移2位(2位最低位直接被屏蔽,2位最高位直接补0【最高位=1是负数,=0是正数】),然后把最终的值赋给jSystem.out.println(j>>=2);// j换成8位2进制数,整体向右移8位(8位最低位直接被屏蔽,8位最高位直接补0【最高位=1是负数,=0是正数】),然后把最终的值赋给jSystem.out.println(j>>=8);// & 【与】位运算符// 从低位开始比较,只有两边都是1时,结果为1,否则为0。System.out.println(19 & 25);// *010011 & *011001 = *010001 【19 & 25 = 17】// 该运算符的常见应用场景是从一串bit中【&抽取】一部分,例如想抽取1101101的低四位,用1101101&0001111就可以得到低四位1101了。// | 【或】位运算符// 从低位开始比较,两边有一位是1或都是1时,结果为1,否则为0。System.out.println(19 | 25);// *010011 & *011001 = *011011 【19 & 25 = 27】// 该运算符的常见应用场景是【|拼接】两串bit,例如想把1010接在1101101的后四位,用11011010000|00000001011就可以得到11011011011了。// ^ 【异或】位运算符// 从低位开始比较,两边位不同时,结果为1,否则为0。System.out.println(19 ^ 25);// *010011 & *011001 = *001010 【19 & 25 = 10】// ~ 【非】位运算符// 从低位开始比较,1变0,0变1。System.out.println(~25);// *011001 = *100110 【~25 = -26】// 李东亮的小例子 byte[] b=new byte[]{0x09,0x12};//0x09=00001001,0x12=00010010,一个字节为8为,为了方便理解,所以在前面补0,无其他意义。 // short 等于 2个byte 也就是16个bit short s0 = (short) (b[1] & 0xff);// b[1]放在最低位 0000000000010010 short s1 = (short) (b[0] & 0xff);// b[0]放在最高位 0000000000001001 s1 <<= 8;// 左移8位 0000100100000000 System.out.println((short) (s0 | s1));//s= 0000100100010010}}
0 0
- 位运算操作符
- 位运算操作符
- 位运算符操作
- 位运算符操作
- 位操作运算符
- 位操作运算符
- 位操作运算符
- java 位操作运算符
- 位运算之位操作符
- 位操作中的&操作运算符练习
- [POJ3748]位操作[位运算]
- C/C++的位运算符操作
- java_位操作符的运算
- 位运算符的操作机制
- c-位运算操作符(异或)
- 深入总结嵌入式位操作运算符
- 为了理解的位操作运算符
- 位操作运算符及应用
- android 传感器相关
- 求教高手,RFID破解中遇到难题
- 资料阅读
- 优先队列
- CentOS 6.4安装配置LNMP服务器(Nginx+PHP+MySQL)
- 位运算符操作
- EXE视频文件逆向
- 时间类(三)
- Field类的使用详解(测试)
- 筛选求n以内素数并返回个数
- 一步步学习SPD2010--第十三章节--管理SP Server环境的Web内容(7)--批准页面布局
- php中文api(带例子)
- Android的语言设置
- 第十章 多线程编程