印象中有点像做带余除法,考虑这些整数mod 232 这种,那-(1)自然相当于+(232-1)

    补码等价于最高位表示的数为-2n-1
    比如一个四位补码中
    1000
    最高位1代表-8
    其他位则正常表示+4、+2、+1

    等于把整个编码序列从[0,2n-1]向负方向平移了2n-1
    所以可以表达[-2n-1,2n-1-1]

    只是平移所以当然保持加法

      Weyl
      言简意赅。
      不过应该不是整体平移吧,最高位是0的数字其实没动,最高位是1的数字平移了-2n

      但因为平移的总是2^{n}的倍数,所以模加减法结果不变。

      • Weyl 回复了此帖

        Cauch
        确实

        主要是因为实际上不考虑溢出的情况,至多只能有一个数首位是1,首位出现1等于减了2n-1,不影响加法的规则。

        说点什么吧...