三种方式计算减法
1:有符号位,比如在高位有个负号(0,1)标识负数;
2:补码;
3:中间数,比如00000000-111111111,取中间数10000000大于10000000的表示正数,小于10000000的表示负数,
只谈补码
补码如何实现减负,
先说什么是补码
比如-1可以写成0-1=-1;所以(1)00000000-00000001=11111111;
11111111就是补码;
那么计算-1+1=0-1+1=11111111+00000001=(1)0000000;
在计算机中比如只有八位前面(1)可以舍去所以就是00000000;
对于任意-a的补码,就是0-a,既2^n-a,其中n为这种类型的位数,在例子中就是2^8=256,所以补码就是256-1=255,二进制就是11111111;