JavaSE学习(9) 二进制、位运算符、移位运算符
2016-12-09 21:08
260 查看
二进制:原码反码补码
对于有符号的而言:
1)二进制的最高位是符号位:0表示正数,1表示负数
2)正数的原码、反码、补码都一样
3)负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)
4)负数的补码=它的反码+1
5)0的反码,补码都是0
6)java没有无符号数,换言之,java中的数都是有符号的
7)在计算机运算的时候,都是以补码的方式来运算的。
java中有4个位运算,分别是“按位与&、按位或|、按位异或^,按位取反”,运算规则:
按位与&:两位全为1,结果为1
按位或|:两位有一个为1,结果为1
按位异或^:两位一个为0,一个为1,结果为1
按位取反:0->1,1->0
~2 取反 (不涉及符号位)
2&3=2
2|3=3
2^3=1
java中有3个移位运算符:
>>、<<算术右移和算术左移
运算规则:
>>算术右移:低位溢出,符号位不变,并用符号位补溢出的高位
<<算术左移:符号位不变,低位补0
>>>逻辑右移,运算规则是:低位溢出,高位补0
对于有符号的而言:
1)二进制的最高位是符号位:0表示正数,1表示负数
2)正数的原码、反码、补码都一样
3)负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)
4)负数的补码=它的反码+1
5)0的反码,补码都是0
6)java没有无符号数,换言之,java中的数都是有符号的
7)在计算机运算的时候,都是以补码的方式来运算的。
java中有4个位运算,分别是“按位与&、按位或|、按位异或^,按位取反”,运算规则:
按位与&:两位全为1,结果为1
按位或|:两位有一个为1,结果为1
按位异或^:两位一个为0,一个为1,结果为1
按位取反:0->1,1->0
~2 取反 (不涉及符号位)
2&3=2
2|3=3
2^3=1
java中有3个移位运算符:
>>、<<算术右移和算术左移
运算规则:
>>算术右移:低位溢出,符号位不变,并用符号位补溢出的高位
<<算术左移:符号位不变,低位补0
>>>逻辑右移,运算规则是:低位溢出,高位补0
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- Debian 7.x 安装Oracle JAVA
- springmvc实现url路由功能
- spring boot 配置 druid/** * 配置druid * Created by adam on 4/11/16. */ @Configuration public class D
- api接口rsa加密
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解