一、原码、反码、补码
网上对应原码,反码,补码的解释过于复杂,我这里精简6句话:
对于有符号的而言:
1)二进制的最高位是符号位:0表示正数,1表示负数
1===》 [0000 0001] -1===》 [1000 0001]
2)正数的原码,反码,补码都一样
3)负数的反码=它的原码符号位不变,其他位取反(0->1,1->0)
1===》 原码[0000 0001] 反码[0000 0001] 补码 [0000 0001]
-1===》原码[1000 0001] 反码[1111 1110] 补码[1111 1111 ]
4)负数的补码=它的反码+1
5)0的反码,补码都是0
6)在计算机运行的时候,都是以补码的方式来运行的
1+1 1-1=1+(-1)
二、移位运算符
右移运算符 >> :低位溢出,符号位不变,并用符号位补溢出的高位
左移运算符 << :符号位不变,低位补0