1.对于有符号的而言
二进制的最高位是符号位,1表示整数 1表示负数
正数的源码 反码 补码都一样
负数的反码 = 它的源码符号位不变,其他位去反
负数的补码 = 它的反码+1
0 的反码 补码 都是0
java没有无符号数,java中的数都是有符号的
在计算机运算的时候,都是以补码的方式来运算的
2.位运算
按位与&:两位全为1,结果为1
按位或|:两位有一个为1,结果为1
按位异或:两位一个为0,一个为1,结果为1
按位去反:0->1 1->0
3.移位运算
>>算术右移:低位溢出,符号位不变,并用符号位补溢出的高位
<<算术左移:符号位不变,低位补0
>>>逻辑右移,低位溢出,高位补0
-2 原码: 10 ——010
反码: 11 ——101
补码 : 11 ——110