正数的原码,反码和补码都是一样的。
对于负数来说:
补码:就是反码 +1。
反码:原码除符号位(就是二进制码的首位)不变,其余每一位取反(0变1,1变0)如对于byte类型的 -7 来说:
原码:1 0 0 0 0 1 1 1 (最左边的 “1” 是符号位,符号位是1代表负数,0代表正数)
反码:1 1 1 1 1 0 0 0
补码:1 1 1 1 1 0 0 1
位运算:
(在位运算中,负数用补码表示)
与运算:运算符“&”,运算法则:只有1+1=1,其余都是等于0;如
0 0 1 0 1 1 1 0
0 0 1 1 0 0 1 0
结果:0 0 1 0 0 0 1 0
或运算: 运算符“ | ”,运算法则:只有0+0=0,其余都是等于1。
异或运算: 运算符"^",0+0=0,1+1=0,其余都是等于1。
(上述三种运算的结果精度都与运算数精度中高的一致)
取反运算:运算符“~”,二进制中1变0,0变1。