其实它们从英文的名称上来理解会更加容易一点,注意两者英文中的撇号的位置
补码,two's complement,对于非负数x,我们用2w -x(这里只有一个2)来计算-x的w位表示;
反码,ones’ complement,我们用[111...1]-x(这里有很多1)来计算-x的反码表示。
[111...1]-x也可以写成(2w -1)-x=2w -x-1,也就是反码=补码-1,那么补码就可以通过反码+1来计算,而-x反码的二级制是很容易计算的,只需要将x的二级制取反即可,估计这也是为什么翻译成反码的原因吧