1、二进制
对于原码, 反码, 补码而言, 需要注意以下几点:
(1).Java中没有无符号数, 换言之, Java中的数都是有符号的;
(2).二进制的最高位是符号位, 0表示正数, 1表示负数;
(3).正数的原码, 反码, 补码都一样;
(4).负数的反码=它的原码符号位不变, 其他位取反;
(5).负数的补码=它的反码+1;
(6).0的反码, 补码都是0;
(7).在计算机运算的时候, 都是以补码的方式来运算的。
2、位运算
java中有4个运算,分别是“按位与&、按位或|、按位异或^、按位取反”,它们的运算规则是:
按位与&:两位全为1,结果为1
按位或|:两位有一个为1,结果为1
按位异或^:两位一个为0,一个为1,结果为1
按位取反:0->1,1->0
java中有3个移位运算符:
>>、<<算术右移和算术左移,运算规则:
算术右移:低位溢出,符号位不变,并且符号位补溢出的高位
算术左移:符号位不变,低位补0
>>>逻辑右移,运算规则是:低位溢出,高位补0
感谢:
https://chuanke.baidu.com/v2802398-171137-821666.html
https://chuanke.baidu.com/v1344269-95253-142523.html