原码:是最简单的机器数表示法。用最高位表示符号位,"1"表示负号,"0"表示正号。其他位存放该数的二进制的绝对值。 例:1010 : 最高位是1,表示这是一个负数,其他三位是:010 即:从最最右边开始计算结果为 0 = 0 * 2 ^ 0 => 0 + 1 = 1 * 2 ^ 1 => 2 + 0 = 0 * 2 ^ 2 => 0 ^ 表示幂运算 再结合最高位是1,表示:1010 是个负数,其结果为 -2 原码最大的问题就在于一个数加上他的相反数不等于零。 反码:正数的反码还是等于原码。负数的反码就是他的原码除符号位外,按位取反。 例: 3是正数,原码与反码相同,则可以表示为0011 -3的负数,原码是1011 反码的符号位不变是1,后面3位接位取反100 所以-3的反码就是:1100 反码与原码比较,最大的优点,就在于解决了减法的问题 补码:正数的补码等于他的原码,负数的补码等于反码+1