关于yuan码反码补码的问题

我不知道yuan码,补码,反码之间的换算应该怎么搞,目前看到的第一个关系是 补码=反码+1,但是接下来的例题又不是了
img

img
我觉得例题的补码到反码,不就应该是减1,是1111…110吗

两个反码不是一个反码,第一个PPT的反码是原码的反码,第二个PPT的反码是补码的反码
原理可以分析一下:不考虑符号位,一个x位二进制数a,和它全部取反的二进制数~a有什么关系?显然a+~a=2^(x+1)-1
即~a=2^(x+1)-1-a,将一个数取反就会得到这个结果。
考虑一个x位原码表示的数c,它的补码的值c'=~c+1=2^(x+1)-1-c+1=2^(x+1)-c。
下面分析两种情况:

  1. 直观上的想法,取补码码的逆运算:对补码先减一再取反
    c''=~(c'-1)=~(2^(x+1)-c-1)=2^(x+1)-1-(2^(x+1)-c-1)=2^(x+1)-1-2^(x+1+c+1)=c
  2. 对补码再求补,是否能得到原码
    (c')'=~(c')+1=2^(x+1)-1-c'+1=2^(x+1)-c'=2^(x+1)-2^(x+1)+c=c

所以第二张PPT是对补码求补依次得到原码,给出的反码是补码对应的反码

你的理解没错。下面是先取反,再加1,在二进制中,效果跟先减1再取反一样