原码 反码 补码
比如 0000 0111 表示 7,那么如何表示 -7 呢?计算机里如何保存 -7 呢?
计算机里是分 有符号数 无符号数
将第一位作为符号位,0正1负
0000 0111 7 (真值)
1000 0111 -7 (真值)
但是我们是需要进行计算加减乘除的,很明显 0000 0111 + 1000 0111 结果不等于0
存储和计算
存储的是 原码
参与计算的是 补码
正数:原码 = 反码 = 补码
负数:补码 = 原码 取反 +1 【这里的取反都是对 非符号位取反】
**原码 = 补码 -1 取反**
正数的原码反码补码相同
负数的原码反码补码需要计算