例如说我在2位元的计算上
0 00
1 01
2 10
3 11
如果单纯加上一个位元当作负号
3 011
2 010
1 001
0 000 100
-1 101
-2 110
-3 111
这样0就有 0跟-0两种表示方法
这在直接存跟1补数都有这个问题
用2补数的话
3 011
2 010
1 001
0 000
-1 111
-2 110
-3 101
-4 100
就不会产生这样的问题
而且这样不用实作减法器 全部当作加法就好
3 - 4 = 3 + (-4) = 011 + 100 = 111 = -1
3 - 1 = 3 + (-1) = 011 + 111 = 1010 = 010 = 2
溢位直接消失