欢迎来到天天文库
浏览记录
ID:32165931
大小:186.90 KB
页数:9页
时间:2019-02-01
《黑马程序员java教程:位运算符》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、位运算符 P.S. 位运算是直接对二进制位进行运算。 与运算例子: 6&3=2 110 & 011 ------- 010 示例:1.classOperatorDemo2.{3. publicstaticvoidmain(String[]args){4. System.out.println(6&3);5. }6.}复制代码 运行结果: P.S. 用“与运算”可以很方便提取某一二进制数的其中几位数。 例如:取17476二进制数的后四位。
2、 0100010001000100 & 0000000000001111 ------------------------ 0000000000000100 或运算例子: 6
3、 3=7 110
4、 011 -------- 111 示例:1.classOperatorDemo2.{3. publicstaticvoidmain(String[]args){4. System.out.println(6
5、3);5
6、. }6.}复制代码 运行结果: 异或运算例子: 6^3=5 110 ^ 011 ------- 101 示例:1.classOperatorDemo2.{3. publicstaticvoidmain(String[]args){4. System.out.println(6^3);5. }6.}复制代码 运行结果: P.S. 一个数异或同一个数两次,结果还是这个数。 例子: 6^3^3=6 6^3=5
7、 110 ^ 011 ------- 101 ^ 011 ------- 110 技巧: 利用异或运算可以实现对数据简单地进行加密,例如对一幅图片的所有数据异或3进行加密,那么这幅图片就无法查看了。解密只需要再对图片的数据执行异或3操作即可。 取反运算: 取反操作就是对二进制数值的每一位0变1,1变0。 示例:1.classOperatorDemo2.{3. publicstaticvoidmain(String[]args){4.
8、 System.out.println(~6);5. }6.}复制代码 运算结果: 左移运算例子: 3<<2=12相当于3*2(2)=12 00000000000000000000000000000011 00000000000000000000000000001100 3<<3=24相当于3*2(3)=24 00000000000000000000000000000011 00000000000000000000000000011000 示例:1.classO
9、peratorDemo2.{3. publicstaticvoidmain(String[]args){4. System.out.println(3<<2);5. System.out.println(3<<3);6. }7.}复制代码 运行结果: 总结: 左移几位其实就是该数据乘以2的几次方。 <<:可以完成2的次幂运算。 右移运算例子: 6>>1=3相当于6/2(1)=3 00000000000000000000000000000110 0000
10、0000000000000000000000000011 6>>2=1相当于6/2(2)=1 00000000000000000000000000000110 00000000000000000000000000000001 示例:1.classOperatorDemo2.{3. publicstaticvoidmain(String[]args){4. System.out.println(6>>1);5. System.out.println(6>>2);6.
11、 }7.}复制代码 运行结果: 总结: 右移几位其实就是该数据除以2的几次幂。 附: 以上例子中括号表示次幂的意思。 P.S. >>:对于高位出现的空位,原来高位是什么,就用什么补这个空位。 >>>:无符号右移,数据进行右移时,高位出现的空位,无论原高位是什么,空位都用0补。
此文档下载收益归作者所有