关于补码及整型的最小值的认识

时间:2025-03-14 07:08:59

正数的补码和原码相同

 

负数的补码 = 符号位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最大负数值,很经典,表示感谢!