(1)原码:数的最原始的二进制码 (缺点:0有两种表示 -1 + 1 = -2 不等于0)。
-0 1000 0000
-1:1000 0001
注意: 负数如果在计算机中用原码存,会导致两个问题 (1)负数运算结果不正确,(2)0的状态还有两种
(2)反码:正数的反码不变 ,负数的反码(符号位不变,其他位取反)
如果计算机用反码去存,负数运算结果正确,(1)但是 0的状态还是有两种
(3)补码:正数的补码不变,负数的补码等于反码加1
如果计算机用补码去存,负数运算结果是正确的,0的状态只有一种。
(4)补码求原码
-
先求出补码的反码,再+1
计算机中存储的数都是以补码方式存储的 (存入和取出分成两个部分来算的 )
数值溢出(数值赋值和输出打印给值情况 赋值十进制给的是原码,八进制和十六进制给的是补码)都是转换成二进制存储