java基础 - 位运算符
2016-03-22 10:48
302 查看
package concurrentMy; /** * * (位运算符) * * <p> * 修改历史: <br> * 修改日期 修改人员 版本 修改内容<br> * -------------------------------------------------<br> * 2016年3月22日 上午10:13:57 user 1.0 初始化创建<br> * </p> * * @author Peng.Li * @version 1.0 * @since JDK1.7 */ public class ConcurrentHashMapTest { public static void main(String[] args) { int a = 60; /* 60 = 0011 1100 */ int b = 13; /* 13 = 0000 1101 */ //11 1100 System.out.println(Integer.toBinaryString(a)); //1101 System.out.println(Integer.toBinaryString(b)); //按位取与,两个数,只要一个数为0,结果为0 int c = 0; c = a & b; /* 12 = 0000 1100 */ System.out.println("a & b = " + c ); //1100 System.out.println(Integer.toBinaryString(c)); //按位运算,或 两个数只要一个数为1,结果为1 c = a | b; /* 61 = 0011 1101 */ System.out.println("a | b = " + c ); // 按位异或操作符,两个操作数的某一位不相同时候结果的该位就为1。 c = a ^ b; /* 49 = 0011 0001 */ System.out.println("a ^ b = " + c ); //按位补运算符翻转操作数的每一位。 c = ~a; /*-61 = 1100 0011 */ System.out.println("~a = " + c ); //按位右移运算符。左操作数按位右移右操作数指定的位数。 c = a << 2; /* 240 = 1111 0000 */ System.out.println("a << 2 = " + c ); //按位右移运算符。左操作数按位右移右操作数指定的位数。 c = a >> 2; /* 15 = 1111 */ System.out.println("a >> 2 = " + c ); //按位右移补零操作符。左操作数的值按右操作数指定的位数右移,移动得到的空位以零填充。 c = a >>> 2; /* 15 = 0000 1111 */ System.out.println("a >>> 2 = " + c ); } }
相关文章推荐
- Leetcode: 165. Compare Version Numbers(JAVA)
- 对Java多态性的理解
- Struts 有哪些经常使用标签库
- wget 官方jdk
- Spring Security(06)——AuthenticationProvider
- Spring MVC 流程图
- eclipse 安装svn插件
- java基础第四天_复习运算符、进制转化和数组
- 给Java说句公道话
- Spring的AOP使用xml配置
- Eclipse 中的重构功能
- Java的字节流和字符流
- JavaScrit常用的简单交互
- Java数组取交集
- Java内存区域
- Java中父类与子类的普通代码块,构造代码块,静态代码块 初始化
- Spring 一二事(1)
- Spring MVC with Maven - java.lang.ClassNotFoundException: org.springframework.web.servlet.Dispatcher
- Java设计模式之策略模式
- 《Head First Java》读后记录