栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java学习日记---位运算

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java学习日记---位运算

1.原码、反码、补码

对于有符号的:

1.二进制的最高位是符号位,0表示正数,1表示负数

2.正数的原码、反码、补码都一样

3.负数的反码:它的原码符号位不变,其他位取反

4.负数的补码:它的反码+1,负数的反码 : 负数的补码 -1

5.0的反码补码都是0

6.java没有无符号数即java中的数都是有符号的

7.在计算机运算的时候,都是以补码的方式来运算的

8.当我们再看运算结果的时候,要看它的原码。

2.位运算

按位与&:两位都为1时为1,否则为0

// 2的补码 00000000 00000000 00000000 00000010
// 3的补码 00000000 00000000 00000000 00000011
//  2 & 3 = 00000000 00000000 00000000 00000010 
System.out.println(2&3); //2

按位或|:两位有一个1时为1,否则为0

System.out.println(2|3);//3
//1.2的补码 00000000 00000000 00000000 00000010
//  3的补码 00000000 00000000 00000000 00000011
// 2. 2|3   00000000 00000000 00000000 00000011

按位异或^:两位不同时为1,否则为0

System.out.println(2^3);//1
//1.2的补码 00000000 00000000 00000000 00000010
//  3的补码 00000000 00000000 00000000 00000011
// 2.2^3    00000000 00000000 00000000 00000001

按位取反~:位1->0,0->1

System.out.println(~-2);
// 1. -2的原码 10000000 00000000 00000000 00000010
// 2. -2的反码 11111111 11111111 11111111 11111101
// 3. -2的补码 11111111 11111111 11111111 11111110
// 4. 取反     00000000 00000000 00000000 00000001 ->补码		
// 5. 结果为1  
		

System.out.println(~2);//-3
//1.2的补码 00000000 00000000 00000000 00000010
//2.取反	   11111111  11111111 11111111 11111101 补码
//3.求该补码的反码 11111111 11111111 11111111 11111100
//4.求该反码的原码 10000000 00000000 00000000 00000011

算术右移>>:低位溢出,符号位不变,并用符号位补溢出的高位,右移一次相当与除以2

System.out.println(-2>>2);//-1
//1.1的补码:11111111 11111111 11111111 11111110
//2.右移两位 11111111 11111111 11111111 11111111
//3.因为运算用的是补码 得到的也是补码 查看结果要把它转为原码
//4.原码:该补码的反码11111111 11111111 11111111 11111110
//5.补码的原码 10000000 00000000 00000000 00000001
//6.结果为-1

算术左移<<:符号位不变,低位补0,左移一次相当与乘以2

System.out.println(2<<2);//8
//1.2的补码 00000000 00000000 00000000 00000010
//2.左移两位 00000000 00000000 00000000 00001000
//结果为8

逻辑右移>>>:无符号右移,低位溢出,高位补0

右移左移本质:二进制->10进制:各位数的2的(位数-1)次方之和;左移一位1,相当于多乘一次2。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/760360.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号