java位移运算符|And&,操作二进制
在java中 逻辑运算符有四种:& , |, &&, ||
&: 如果第一个条件是fasle,还会判断第二个条件,只要有一个条件不满足,结果就返回false;
&&:如果第一个条件就不满足,则直接返回false,不会去判断第二个条件;
|和||跟上面是一样的意思
举个例子(-1和255)00000001
-1转换成二进制(byte类型):11111111
1转换成二进制(int类型):00000000-00000000-00000000-00000001
转换成二进制要先取反,然后+1,(11111111-11111111-11111111-11111111)
如果把负数的二进制转换成十进制数据:首先要-1,然后取反 -(00000000-00000000-00000000-00000001),结果就是-1;
255转换成二进制(int类型):00000000-00000000-00000000-11111111
正数的二进制转换成十进制则不用取反:1*(2*1)+1*(2*2)+1*(2*2*2)....... = 255;
System.out.println("a>>b = "+3>>1);
System.out.println("a<<b = "+3<<1);
System.out.println("a&b = "+3&1);
System.out.println("a|b = "+3|1);
System.out.println("a^b = "+a^b);
a = 0011
b = 0001
a = 3
b = 1
运行结果是:
a>>b = 1 :0001
a<<b = 6 :0111
a & b = 1 :0001
a | b = 3 :0011
a ^ b = 2 :0010
最新文章
- 《PHP开发APP接口》笔记
- perl push an array to hash
- thinkphp单入口和多入口的访问方法
- Java遍历JSON
- JAVA学习Swing章节标签JLabel中图标的使用
- PHP单引号和双引号的区别
- 反Secure Boot垄断:兼谈如何在Windows 8电脑上安装Linux
- oracle 10gwindow7安装添加内容
- C++仿函数和typename的用法
- Android 获取JSP或ASP的sessionId(Cookie)
- OC多文件开发介绍
- 【iOS】Mapkit的使用:地图显示、定位、大头针、气泡等
- ASP.NET回车提交事务
- NYOJ 14 场地安排
- heritrix1.14.4配置-没有add和change按钮的问题
- Nmap脚本引擎原理
- bzoj 3670: [Noi2014]动物园
- cumprod、prod函数
- crontab学习
- Linux终端会话实时共享(kibitz)