位运算符介绍(二):Java位运算符
来源:互联网 发布:java提示找不到文件 编辑:程序博客网 时间:2024/04/29 03:30
Java语言提供了7个位操作运算符。这些运算符只能用于整型操作数,这些整数操作数包括long,int,short,char和byte。这里注意,相对于C/C++,Java多了一个位运算符“>>>”,整型操作数也多了一个byte类型(C/C++中没有byte类型整数),并且操作数没有unsigned类型整数,这需要注意。
下面是Java位操作运算符列表,其中运算符优先级为从上到下递减,但<<,>>,>>>优先级相同。
代码示例如下:
1 public class BitOperation { 2 public static void main(String[] args) { 3 int x=3,y=5,z=-5; 4 System.out.println("~z="+(~z)); 5 System.out.println("x&y="+(x&y)); 6 System.out.println("x^y="+(x^y)); 7 System.out.println("x|y="+(x|y)); 8 System.out.println("z<<1="+(z<<1)); 9 System.out.println("z>>1="+(z>>1));10 System.out.println("z>>>1="+(z>>>1));11 }12 }
运行结果如下:
~z=4
x&y=1
x^y=6
x|y=7
z<<1=-10
z>>1=-3
z>>>1=2147483645
对于前四个结果,我不再做解释,可参考我的博文“位运算符(一):C/C++位运算符”。对于后三个结果,我的解释如下:
z=-5,补码表示为(11111111 11111111 11111111 11111011)
11111111 11111111 11111111 11111011 <<1
= 11111111 11111111 11111111 11110110
11111111 11111111 11111111 11111011 >>1
= 11111111 11111111 11111111 11111101
11111111 11111111 11111111 11111011 >>>1
= 01111111 11111111 11111111 11111101
From:http://www.cnblogs.com/thujason/archive/2010/07/08/1773535.html
- 位运算符介绍(二):Java位运算符
- 位运算符介绍(二):Java位运算符
- Java位运算符介绍
- Java位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- java 位运算符
- Java 位运算符
- Java 位运算符
- Java 位运算符
- java 位运算符
- JAVA位运算符
- Java 位运算符
- JAVA位运算符
- hibernate总结
- web工程加载到eclipse可能出现的错误
- SQL经典查询语句
- uva 568 Just the Facts
- linux命令解析--大文件跨网传输
- 位运算符介绍(二):Java位运算符
- [Cocos2D-X官方文档]:在不同平台上CocosDenshion所支持的音频格式
- STL vector 动态数组实现
- 选择的不是工作,而是生活
- xcode5.0.2 无法打开
- 开源健康资讯、健康知识、健康一问的APP
- aaa
- [Cocos2D-X官方文档]:解读CCDictionary类
- 常用排序算法稳定性、时间复杂度分析