对计算机常见数据的分类
机器数 与 真值
原码
反码
补码
扩展
对计算机常见数据的分类
机器数
就是数值在计算机中的二进制的表现形式
机器数在计算机中有符号,使用最高位表示符号,使用 0 表示正,使用1 表示负
一个字节8个bit位表示
+5 = 0000 0101
-10 = 1000 1010
真值
机器数所表示的真正的数值
如:1000 1010 = -10
原码
原码就是符号位加上真值的绝对值
反码
正数:正数的反码 = 原码
负数:符号不变,其余各位各位直接取反
补码
计算机中数据以补码的形式参与计算
正数:原码 = 反码 = 补码
负数:首先求反码, 在反码的基础上+1,[加到最低位上]
为什么需要反码和补码
-
反码
在计算机的运算器中,只有加法器没有减法器,为了将减法 转化为加法 设计补码
但是反码有缺陷,正负相加0的表示不唯一
-
补码
- 为了解决反码正负相加不唯一的情况,使用高位溢出解决
将补码转换为原码
正数:不需要转
负数:求补码的补码
将负数的补码当成原码,然后求该原码的补码
计算规则:符号位不变,其余各位直接取反,然后加1