计算机内部对二进制进行运算用的是补码
原码: +3 >>> 0000 0011 第一位是符号位,0代表正数,1代表负数
反码:负数的反码 保留符号位,其余按位取反
-3 >>> 1000 0011(原码)>>> 1111 1100(反码)
补码:负数的补码是反码+1
-3 >>> 1000 0011(原码)>>> 1111 1100(反码) >>> 1111 1101(补码)
正数的原码,补码和反码都一样。
负数的原码和补码之前的转换:
法1:负数的原码=负数的补码-1 再取反
10001(原码)>>> 11110(反码) >>> 11111(补码)-1 =
法2:负数的原码=负数的补码取反 再+1
11111(补码) >>> 10000 +1 >>> 10001