• 学前教育
  • 小学学习
  • 初中学习
  • 高中学习
  • 语文学习
  • 数学学习
  • 英语学习
  • 作文范文
  • 文科资料
  • 理科资料
  • 文档大全
  • 当前位置: 雅意学习网 > 高中学习 > 正文

    [浅析计算机中的运算电路及补码运算规则分析] 计算机补码运算

    时间:2019-02-09 03:18:03 来源:雅意学习网 本文已影响 雅意学习网手机站

      摘 要: 计算机采用补码运算。本文研究了计算机运算电路的工作原理,有符号数补码和无符号数的运算规则,举例对其运算过程进行了深入研究,分析了其运算过程中对进/借位标志的影响。研究表明,计算机采用补码运算不用区分数的属性,运算过程完全一样,但是进/借位标志位受指令影响。
      关键词: 计算机 运算电路 补码运算 运算规则 微机原理
      
      1.引言
      随着科学技术的发展,计算机已深入到生产生活的各个领域,微机原理课程作为普通高校电子类、通信类、机械类等工科非计算机专业的专业基础课必修课,在各个高校都得到了重视。微机原理课程内容抽象、知识点繁琐,课程难度较大,学生学习兴趣难以培养,课程的不及格率都比较高。计算机中数的运算分为有符号数运算和无符号数运算,一直以来众多教材和计算机书籍都认为计算机中的运算都是有符号数的补码运算,课程组经过多年研究,对这一观点进行了升华,认为计算机不仅可以进行有符号数运算,而且可以进行无符号数运算,并且认为计算机并不区分数的属性,运算过程是完全一样的。
      2.计算机中的运算电路
      计算机中的运算都是在运算器中运行的,运算器是由加法器构成的,只会做二进制加法运算,二进制一位全加器电路如图1所示。组成8位二进制数加法运算器电路如图2所示。
      图2中aaaaaaaa作为全加器的一个输入,称为被加数/被减数;bbbbbbbb作为全加器的另一个输入,称为加数/减数;SSSSSSSS作为全加器的输出,称为和或差;CCCCCCCC为全加器加法运算中低位向高位的进位;SUB为加减控制信号;Cy为进/借位标志位;OV为溢出标志位。当做加法运算时,加减控制信号SUB=0,图2中各异或逻辑门均为同相逻辑门,对加数没有任何影响,则和S=a+b+c。当做减法运算时,加减控制信号SUB=1,图2中各异或逻辑门均为反相逻辑门,对减数没有任何影响,则和S=a-b+c=a-/b+c。通过分析可知,计算机中运算电路不仅可以做加法运算,而且可以做减法运算,只不过做减法运算时,减去一个数等于加上这个数的反码并在末位加1,这个运算过程称之为补码运算。另外Cy=C�SUB表示运算过程中的进/借位,加法时表示进位,减法时表示借位。OV=C�C表示运算过程中溢出位。
      3.计算机中数的运算规则
      计算机只识别二进制数,二进制数最高位当作符号位其它位作为数值位,称之为有符号数;最高位不做符号位而和其它数值位一样有自己的位权,称之为无符号数。计算机不区分数是否有符号的运算都是补码运算过程一样且满足公式(1)。
      X+Y=[X+Y](1)
      下面以35-42来介绍计算机中数的运算过程。
      (1)35-42当成无符号数运算,其运算过程是35减去42,其减法运算过程如下:
       [35]=00100011B
      -)[42]=00101010B
      
      [35]=00100011B
      +)[-42]=11010110B
      运算结果为11111001,由于减法运算SUB=1,C=0,则借位标志位Cy=C�SUB=1。这种情况下求真值时须把运算结果按位取反末位加1,即00000111,再加上Cy=1,则真值应为-7。
      (2)35-42当成有符号数运算,其运算过程是35的补码加上-42的补码,其运算过程如下:
       [35]=00100011B
       +)[-42]=11010110B
       11111001B
      运算结果为11111001,即[-7],有符号运算求真值时符号位保持不变,其它位按位取反末位加1,即10000111,结果为-7。
      当计算机以无符号数的规则运算时,须执行减法运算。例如51单片机执行35-42的无符号数运算的指令为MOVA,35和SUBBA,42执行该指令后,即可在寄存器A中看到运算结果F9H,在标志寄存器可以看到Cy=1,说明运算过程中出现了借位,结果为负值,经分析F9即为-7的补码;当计算机以有符号数的规则运算时,须执行加法运算,51单片机执行35-42的有符号数运算的指令为MOVA,35和ADDA,0D6H指令后,即可在寄存器中A中看到运算结果F9H,在标志寄存器中Cy=0,说明在加法运算中没有进位。分析以上运算过程可以发现,35-42的两种运算实质上是一致的,最终都是执行[35]补加上[-42]补码,都可以得到结果F9H,只不过在执行无符号数减法运算时Cy=1,对于无符号数F9H按位取反加1,再加上Cy=1可得出真值为-7;执行有符号数加法运算时Cy=0,对有符号数F9H求补码,也可得出真值为-7。
      4.结语
      本文详细分析了有符号数补码和无符号数的运算规则,通过实例35-42对计算机的两种运算过程进行了深入研究和分析,分析了其运算过程中对进/借位标志的影响。研究表明,计算机实质上采用补码运算,不用区分数的属性,运算过程完全一样,但是进/借位标志位受加减指令影响。
      
      参考文献:
      [1]林志贵.微型计算机原理及接口技术[M].北京:机械工业出版社,2010.
      [2]耿仁义.新编微机原理及接口技术[M].天津:天津大学出版社,2006.
    本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文

    推荐访问:运算 补码 浅析 电路

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章