正数的补码和原码相同
负数的补码 = 符号位1不变,数值位(除最高位之外)取反,然后+1
计算机中的数都是以补码形式存在的
8位的二进制表示的数值范围:-2^7.....2^7-1
0111 1111是最大的正数
1000 0000是最小的负数(绝对值最大的负数)
以上都是以补码形式存在的
1000 0000 返回原码的过程是-1,然后数值位取反
1000 0000
-0000 0001
-------------
0111 1111
取反之后为1000 0000为2^7
同事的讲解:存储的值是一个环,从0000 0000开始,到0111 1111为最大正数值,再加1为1000 0000为最小负数值,然后到1111 1111-1=1111 1110,再取反0000 0001为-1最大负数值,很经典,表示感谢!