javaSE基础_位运算及位移运算
来源:互联网 发布:淘宝网首页官网润滑油 编辑:程序博客网 时间:2024/05/08 11:58
源码:
2&3=2
2|3=3
3^2=1
~-5=4
-2|-3=-1
1>>2=0
1<<2=4
-1>>2=-1
-2<<3=-16
1.java在计算机的运算中,所有的运算都是以补码的形式进行运算的,特别注意负数的位运算
2.算术左移运算本质是:这个数乘以2的n次方,如3<<2=3*4
3.在补码运算得到结果后,如果最高位为1,此时必须转化为原码
public static void main(String[] args) { //位运算 int a=~2;//按位取反:所有位都取反(包括符号位) 答案:-3 print("~2="+a); int b=2&3;//按位与:两位都为1时,结果为1 答案:2 print("2&3="+b); int c=2|3;//按位或 : 两位中只要有一个为1时,结果为1 答案:3 print("2|3="+c); int d=3^2;//按位异或:两位中一个为1,一个为0,结果为1 答案:1 print("3^2="+d); int e=~-5;//取反 答案:4 print("~-5="+e); int f=-2|-3; print("-2|-3="+f); //移位运算 int m1=1>>2;//算术右移:符号位不变,高位用符号位补 print("1>>2="+m1); int n1=1<<2;//算术左移:符号位不变,低位补0 print("1<<2="+n1); int t1=-1>>2; print("-1>>2="+t1); int test01=-2<<3; print("-2<<3="+test01); int x1=3>>>1;//逻辑右移:低位溢出,高位补0 print("3>>>1="+x1); } public static void print(Object o){ System.out.println(o); }
运行结果:
~2=-32&3=2
2|3=3
3^2=1
~-5=4
-2|-3=-1
1>>2=0
1<<2=4
-1>>2=-1
-2<<3=-16
3>>>1=1
1.java在计算机的运算中,所有的运算都是以补码的形式进行运算的,特别注意负数的位运算
2.算术左移运算本质是:这个数乘以2的n次方,如3<<2=3*4
3.在补码运算得到结果后,如果最高位为1,此时必须转化为原码
- javaSE基础_位运算及位移运算
- 位移位运算符
- 位运算,位移,窗体
- 6_位移运算
- java基础 位移运算
- 位运算符和位移运算符
- 010.php位运算和位移运算
- Java中的位运算、位移运算
- c++基础 位移运算符
- java基础_位运算符
- PHP基础之运算符(三)位逻辑运算符、位移运算符
- java_基础_二进制、位运算、移位运算符
- 位移运算
- 位移,&,|,^运算
- 位移运算
- 位移运算
- 位移运算
- 位移运算
- Linux gcc 头文件以及库文件的搜索路径
- jface TitleAreaDialog 实现 详细编程
- 数据库索引
- 浅谈技术工程师的进步
- 简单批处理命令直接启动你的AVD
- javaSE基础_位运算及位移运算
- linux errno 值的含义
- 2011.8.8-12 周总结
- java内部类
- Android:如何显示网络图片
- 成为编程巨星的唯一秘诀(时刻提醒自己)
- Poj 1324 Holedox Moving (A*)
- 桥接模式
- Directx11 HelloWorld之HLSL的Effect框架的使用