二进制--原码、反码、补码 对于有符号的而言:
1、二进制的最高位是符号位:0表示正数,1表示负数
2、正数的原码、反码、补码都一样
3、负数的反码=它的原码符号位不变,其它位取反 (0变1,1变0);
4、负数的补码=它的反码+1
5、0的反码,补码都是0
6、java没有无符号数,换言之,java中的数都是有符号的 7、在计算机运算的时候,都是以补码的方式来运算的。
Java中的四个位运算: 1,按位与&:两个同时为1时为一;
2,按位或|:两个有一个为1就为1;
3,按位异或^:两个一个为1,另一个为0时为1;
4,按位取反:0变1,1变0;(符号位也变)
移位运算:
>>:算术右移(低位溢出,符号位不变,并用符号位补溢出的高位)
<<:算术左移(符号位不变,低位补0)
逻辑右移:
>>>:低位溢出,高位补0;