加载中...
avatar

补码&反码
基本概念
  • 计算机中的符号数有三种表示方法:

    • 原码
    • 反码
    • 补码
  • 三种表示方法均有 符号位数值位 两部分

    • 符号位:
      • 0 表示 “正”
      • 1 表示 “负”,
    • 数值位: 三种表示方法各不相同。
  • 在计算机系统中,数值一律用补码来表示和存储。原因:

    • 使用补码,可以将符号位和数值域统一处理
    • 加法和减法也可以统一处理
    • 补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路

补码求法
  • 正数的补码 = 原码 = 反码

    1
    正数来说,其二进制原码,反码,补码均为相同的,为原码的形式
  • 负数的补码 = 原码符号位不变, 数值位按位取反后+1


辅助概念
  • 模:
    • “模” 指一个计量系统的计数范围。如时钟的计量范围是0~11,模=12。
    • n 位的计算机计量范围是 0~2^(n)-1,模=2^(n)。
    • “模” 实质上是计量器产生“溢出”的量,它的值在计量器上表示不出来,计量器上只能表示出模的余数。
    • 任何有模的计量器,均可化减法为加法运算。
  • 模的举例理解:
    1
    2
    3
    4
    5
    例如:假设当前时针指向10点,而准确时间是6点,调整时间可有以下两种拨法:
    一种是倒拨4小时,即:10-4=6;
    另一种是顺拨8小时:10+8=12+6=6
    在以12模的系统中,加8和减4效果是一样的,因此凡是减4运算,都可以用加8来代替。对“模”而言,8和4互为补数。
    实际上以12模的系统中,11和1,10和2,9和3,7和5,6和6都有这个特性。共同的特点是两者相加等于模。

补码特性
  • 一个负整数(或原码)与其补数(或补码)相加,和为模。

  • 对一个整数的补码再求补码,等于该整数自身。

  • 补码的正零与负零表示方法相同。数0的补码表示是唯一的:

    • [+0]补 = [+0]反=[+0]原=00000000
    • [ -0]补 = 00000000
  • 正整数的补码是其二进制表示,与原码相同。


代数加减运算
  • [X+Y]补 = [X]补 + [Y]补

  • [X-Y]补 = [X]补 - [Y]补 = [X]补 + [-Y]补

文章作者: 卖报小行家
文章链接: https://saitamata.github.io/2020/05/09/Basics/Code/%E8%A1%A5%E7%A0%81&%E5%8F%8D%E7%A0%81/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 卖报小行家
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论