美文网首页
原码 反码 补码的简单计算附例题

原码 反码 补码的简单计算附例题

作者: Debug_EDM | 来源:发表于2020-06-30 20:25 被阅读0次

    原码 反码 补码

    • 对计算机中常见数据简单分类
    • 机器数 与 真值
    • 原码
    • 反码
    • 补码
    • 扩展

    对计算机常见数据的分类

    image.png

    机器数

    就是数值在计算机中的二进制表现形式

    机器数在计算机中有符号,使用 最高位表示符号 , 使用0 表示正,使用 1 表示负

    一个字节8个bit位表示

    +5 = 0000 0101

    -10 = 1000 1010

    真值

    机器数所表示的真正的数值

    如 : 1000 1010 = -10

    原码

    原码就是符号位加上真值的绝对值

    反码

    正数 : 正数的反码 = 原码 如: +3 = 0000 0011[原码] = 0000 0011 [反码]

    负数 : 符号为不变 ,其余各位直接取反 , 1->0 0->1

    补码

    计算机中数据以补码的形式,同样以补码的形式参与运算

    正数 : 原码 = 反码 = 补码 如 : +3 0000 0011[原码] = 0000 0011[反码] = 0000 0011[补码]

    负数 : 首先求的反码,在反码的基础上 + 1,[加到最低位上]

    为什么需要反码和补码

    • 反码
      • 在计算机的时候,只有加法器没有减法器,为了将减法转换为加法,设计反码;
      • 但是反码有缺陷,正负相加 0 的表示不唯一;
    • 补码
      • 为了解决反码正负相加不唯一的情况,使用高位溢出解决;

    将补码转换为原码

    正数 : 不需要转

    负数 : 求补码的补码

    将负数的补码当做原码,然后求该原码的补码

    计算规则 :符号位不变,其余各位直接取反,然后加1;

    使用补码计算以下式子


    • 34 - 11 = 23 = 34+(-11)
      34的原码反码补码都相同为 0010 0010
      -11的原码为1000 1011
      反码为1111 0100
      补码为1111 0101

    俩补码相加得0001 0111 = 23

    • -67-11 = -78 = -67+(-11)
      -67得原码为1100 0011
      反码为1011 1100
      补码为1011 1101
      -11的原码为1000 1011
      反码为1111 0100
      补码为1111 0101

    俩补码相加得 1100 1110 == -78

    • -41-29 = -70 =-41+(-29)
      -41的原码为 1010 1001
      反码 得1101 0110
      补码得 1101 0111
      -29的原码为1001 1101
      反码为1110 0010
      补码为1110 0011

    俩补码相加得 1100 0110 = -70

    相关文章

      网友评论

          本文标题:原码 反码 补码的简单计算附例题

          本文链接:https://www.haomeiwen.com/subject/qcqfqktx.html