千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:郑州千锋IT培训  >  技术干货  >  计算机原理【四】 之 运算方法及运算器

计算机原理【四】 之 运算方法及运算器

来源:千锋教育
发布人:lxx
时间: 2023-02-10 10:19:08

  一、定点补码加、减法运算

  1.补码加、减法运算的特点是什么

  由于补码加、减法运算规则简单,实现起来也最方便,因此一般计算机都采用补码做加、减法运算。其运算特点是∶

千锋教育

  (1)符号位和数值部分可以按相同规则一起参加运算;

  (2)补码减法运算可以转换成加法运算;

  (3)补码加减法运算是有”模”运算(符号位的进位自然丢失)。

  2.补码加法运算规则

  补码加法时,不管两个数是正数还是负数,按补码的和等于和的补码进行运算。

  [X]补+[Y]补=[X+Y]补

  例∶已知X=+1000000,Y=+0001000,求两数和的补码。

  [x]补=01000000,[Y]补=00001000

  [X+Y]补= [X]补+[Y]补=01001000

  3.补码减法运算规则

  补码减法可以转化为加法来做。

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

  例︰已知X=-0111000,Y=-O010001,进行补码的减法运算。

  [X]补=11001000,[Y]补=11101111,[-Y]补=O0010001

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

  4.溢出判断方法

  若两个有符号数进行加、减法运算的结果超出给定的取值范围,称为溢出。

图片1

  进位检测方法︰用符号位的进位与最高数值位的进位的异或来检测,若异或结果是1,则溢出。

  例∶已知X=+1011001,Y=+1000110,求两数的补码之和,并判断是否溢出。

  [X]补=01011001,[Y]补=01000110

  [X+Y]补=10011111

  符号位的进位是0,最高数值位的进位是1,异或结果是1,表示溢出。

  变形补码检测方法

  例∶已知X=+1011001,Y=+1000110,求两数的补码之和,并判断是否溢出。

  [X]补=001011001,[Y]补=001000110

  [X+Y]补=010011111

  符号位的代码是01,表示运算结果“正溢”

  例:已知X=-1011001,Y=-1001110,求两数的补码之和,并判断是否溢出。

  [X]补=110100111,[Y]补=110110010

  [X+Y]补=101011001

  符号位的代码是10,表示运算结果“负溢”

  5.补码加、减法运算器

  提高加法器运算速度的关键在于加快进位信号的传递速度。

  为了提高加法器的运行速度,采用了超前(或先行)进位并行技术。

  二、定点乘法运算

  1.原码一位乘法的算法

  采用原码做乘法运算时,乘积的符号位是两个乘数符号位的异或,而乘积的数值部分则是两乘数绝对值相乘。

  运算规则:

  1)被乘数和乘数均取绝对值参加运算,符号位单独处理;

  2)为了避免中间结果溢出,被乘数、部分积取双符号位参加运算,部分积初值为0;

  3)从乘数的最低位yn开始对乘数进行判断∶若yn=1,则部分积加上被乘数|X|,然后右移一位;若yn=0,则部分积加上0,然后右移一位;

  4)重复第3步n次.

  2.补码一位乘法的算法

 

图片2

  3.什么是*并行阵列乘法器

  因为串行一位乘法方案的速度太慢,执行一次乘法的时间至少是执行一次加法时间的n倍,所以采用高速的专用乘法部件是必要的,如并行阵列乘法器。

  阵列乘法器可认为是全并行运算的乘法器。

  三、定点除法运算

  1.原码除法运算的规则

  在原码做除法运算中,商的符号位是两数的符号位的异或运算。

  商为Q,商的符号位为qf,则有∶

  2.恢复余数除法的运算规则

  1、被除数和除数都取绝对值参加运算,符号位单独处理。要求0<|被除数|≤|除数]。

  2、被除数减除数得余数。

  3、余数为正,上商“1”,余数左移1位,减去除数得新除数。余数为负,上商“O”,加除数(恢复原余数),然后余数左移一位,减去除数得新除数。

  4、重复第(3)步一直到n位商。

  3.不恢复余数法的规则

  1、被除数和除数都取绝对值参加运算,符号位单独处理。

  要求0<|被除数|≤|除数|。

  2、被除数减除数得余数。

  3、余数为正,上商“qi=1”,余数左移1位,减去除数得新除数。余数为负,上商“qi=0”,余数左移一位,加去除数得新除数。

  4、重复第(3)步n次。

  5、当第n步余数为负时需加上除数,以恢复正确的余数rn,最后的余数R=2-nrn(余数与被除数取同号)。

  四、*浮点运算

  1.浮点加、减运算的规则

  设尾数用双符号位补码表示,经过加、减运算之后,只要对运算结果的符号位和小数点后的第一位进行比较:

  如果他们不相等,即00.1xx...x或11.0xx.….x就是规格化的小数;

  如果他们相等,就不是规格化的数。

  2.浮点运算器的实现

  从运算器结构来说,浮点运算器主要由两个定点运算部件组成,一个是阶码运算部件,一个是尾数运算部件。

  阶码部件用来完成阶码加、减,以及控制对阶时小阶的尾数右移次数和规格化时对阶码的调整。

  尾数部件用来完成尾数的四则运算以及判断尾数是否已规格化。

  五、运算器

  1.运算器的基本组成

  计算机的运算器主要由算术逻辑运算单元、通用寄存器、状态字寄存器、有关的判断逻辑、局部控制电路和内部总线等组成。

  运算器是计算机加工和处理数据的功能部件。

  2.运算器的内部总线结构

图片3

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

类的加载机制是什么

2023-03-21

如何定义Java变量?

2023-03-14

细节决定成败:探究Mybatis中javaType和ofType的区别

2023-03-09

最新文章NEW

java实现多线程的几种方式

2023-03-21

java编程spring框架的作用

2023-03-21

什么是java中的进制

2023-03-17

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>