【转】补码取反加一与补码减一取反相同的证明
补码取反加一与补码减一取反相同的证明:
⑴个位是1:
取反加一与减一取反都是从1变成为0,再变为1;
取反加一:取反从1变成为0,加一再变为1;
减一取反:减一从1变成为0,取反再变为1;
⑵个位是0:说明该数的形式必为:1…(1或者0)…1(m个0); 其中(m的值为1~N),第(m+1)位的值为1,所以主要看前m+1位(即100…00)的原码与补码转换情况:
取反加一:取反前m+1位变为011…11,加一再变为100…00;
减一取反:减一前m+1位变为011…11,取反再变为100…00;