Java编程(位运算符)
来源:互联网 发布:淘宝小号赚钱 编辑:程序博客网 时间:2024/06/08 04:56
Java支持的位运算符:
&:按位与。
|:按位或。
~:按位非。
^:按位异或。
<<:左位移运算符。
>>:右位移运算符。
<<<:无符号右移运算符。
这四个运算符比较常见,也比较简单总结如下表所示:
第一个运算符
第二个运算符
按位与
按位或
按位异或
0
0
0
0
0
0
1
0
1
1
1
0
0
1
1
1
1
1
1
0
PS:对于异或运算符大家可能觉得不太容易记忆(记是永远记不住的),其实前人早就总结了异或的规律,如下所述。
异或:又称半加法运算,例如1异或1可以当成二进制下的1+1=10然后取最后一位,正好是异或的结果,0+0、1+1、0+1同理。
运算原理:
前四种位运算符是比较简单的,只需要按位进行逻辑运算即可例如5&9(结果为1)的执行过程如下:
再比如~-5(结果为4)的执行过程如下:
其他运算(|、~、^)同理。
后面的移位运算相对前面的有些复杂,但是细细研究还是很好理解的。
-5<<2(结果为-20)的执行过程如下:
-5>>2执行过程如下:
-5>>>2的运算过程
通过上面的过程可以看出,只要被移位的二进制码没有发生有效位的数字丢失(对于正数而言,通常指被移出的位全部都是0),不难发现左移n位就相当于乘以2的n次方,右移则是处以2的n次方。还有一点就是进行移位运算不会改变操作数本身,它只是得到了一个新的运算结果,而原来的操作数本身是不会发生改变的。
- Java编程(位运算符)
- Java编程(位运算符)
- Java位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- java 位运算符
- JAVA位运算符
- Java 位运算符
- JAVA位运算符
- Java-位运算符
- MyEclipse创建HTML5移动应用程序全过程
- if分支语句优化
- 兄弟连php视频网址
- x86汇编指令详解
- Error creating bean with name 'bookBizImpl' defined in class path resource [applicationContext.xml]
- Java编程(位运算符)
- 第一个oracle存储过程
- 约瑟夫问题(Josephus problem)2:某人何时出列
- cadence笔记
- iOS 开发常用命令
- 表达式求值
- HibernateUtils
- 网络爬虫原理
- web.xml中配置spring的几种方式 spring spring web.xml