[javaSE] 位运算符(&|^)
2016-05-19 10:48
225 查看
位运算是直接对二进制进行计算
左移 <<
右移 >>
先把整数换成四个8bit 0000-0000 0000-0000 0000-0000 0000-0000
这个二进制左右移动,移除来的那头用0补齐
规律:
6<<3意思就是 6乘以2的3次方
6>>3意思就是6除以2的3次方
& 与运算
| 或运算
^ 异或运算
先把十进制整数转成二进制,两个数上下对应
6&3 意思就是,对应位置一致,都是1就得1,其他的都是0
6|3 意思就是,对应位置一致,只要有1就是1,都是0才得0
6^3 意思就是,对应位置一致,上下相同的得0,不同的得1
110
011&与运算
010 =2
110
011 |或运算
111 =7
110
011^异或
101 =5
这些位运算可以用来做加密功能
左移 <<
右移 >>
先把整数换成四个8bit 0000-0000 0000-0000 0000-0000 0000-0000
这个二进制左右移动,移除来的那头用0补齐
规律:
6<<3意思就是 6乘以2的3次方
6>>3意思就是6除以2的3次方
& 与运算
| 或运算
^ 异或运算
先把十进制整数转成二进制,两个数上下对应
6&3 意思就是,对应位置一致,都是1就得1,其他的都是0
6|3 意思就是,对应位置一致,只要有1就是1,都是0才得0
6^3 意思就是,对应位置一致,上下相同的得0,不同的得1
110
011&与运算
010 =2
110
011 |或运算
111 =7
110
011^异或
101 =5
这些位运算可以用来做加密功能
public class VariableDemo { /** * @param args */ public static void main(String[] args) { System.out.println(6<<3);//输出48 System.out.println(6>>3);//输出 0 System.out.println(6&3);//输出 2 System.out.println(6|3);//输出 7 System.out.println(6^3);//输出 5 } }
相关文章推荐
- 导出excel时java反射的一些方法
- 【Java工具类】 POI操作word文档模版可修改文字图片
- SpringMVC中使用Interceptor拦截器
- Android开发效率—Eclipse快捷键
- 浅谈Java中的锁
- Java发送电子邮件的完整代码,可发送附件
- Java仿文库的基本方法(openoffice+swftools+flexPaper)
- SpringMVC拦截器(资源和权限管理)
- java编程思想之初始化类的加载
- 关于java中的datetime数据类型的加减计算(部分转载部分原创)
- 解决java连接Hbase程序卡住执行也不报错的问题
- 个人学习-java-泛型理解
- Java后台,安卓,iOS--3des解密后得到密文不同,解决方法
- JavaEE Filter敏感词过滤的方法实例详解
- Java成长笔记——有关“包”
- javabean实体类对象转为Map类型对象的方法(转发)
- Java Random随机种子
- JAVA中替换字符以及回车换行
- java包装类
- 【java工具类】图片压缩