计算机组成原理第二章 第5讲 定点加法、减法运算

合集下载

计算机组成原理华科版第二章运算方法与运算器课件

计算机组成原理华科版第二章运算方法与运算器课件

4
计算机组成原理
⑵补码表示法
第二章 运算方法与运算器
• 由于补码在作二进制加、减运算时较方便,所以 在计算机中广泛采用补码表示二进制数。
• 补码运算中,可以用加法代替减法,节省元件, 降低成本。
5
计算机组成原理
第二章 运算方法与运算器
⑵补码表示法
原码求补码方法:正数不变(相同)。负数符号位不变, 数值位求反加1
第二种浮点表示的格式为
1,10001001,01111111110000000000000
17
计算机组成原理
⑶ 浮点数的表示举例
第二章 运算方法与运算器
某机用32b表示一个数,阶码部分占8b(含一位符号 位2格5式6).。5,,尾x数2=1部27分/2占56,2 4试b(写含出一x1和位x符2的号两位种)浮。点数设表x1示=-
最小负数 最大负数
最小正数
最大正数
1.0000000 1.1111111
0.0000001
0.1111111
-1
-2-7
2-7
1-2-7
11
计算机组成原理
第二章 运算方法与运算器
定点整数的表示范围:
①设字长为8b,用原码表示时,其表示范围如下:
最小负数 最大负数 最小正数 最大正数
11111111 10000001 00000001 01111111
计算机组成原理
1.真值与机器数
第二章 运算方法与运算器
采用正、负符号加上二进制的绝对值,则这种 数值称为真值。
将正负号分别用一位数码0和1来代替,一般将 这种符号位放在数的最高位。这种在机器中使 用的连同数符一起数码化的数,称为机器数。
1
计算机组成原理

定点加、减法运算

定点加、减法运算

计算机组成原理 定点加、减法运算
符号位: 00 结果>0 11 结果<0 01 溢出 10 溢出
符号位异号溢出(用异或电路判断
计算机组成原理 定点加、减法运算
练习: X=-0.1101 Y=-0.1011 求[X+Y]补 和[X-Y]补
计算机组成原理 定点加、减法运算
[X]补=11.0011 [Y]补=11.0101 [X+Y]补=10.1000 [X-Y]补= 11.1110
计算机组成原理
计算机组成原理 定点加、减法运算
1、二进制的补码加、减法运算 1.1、公式:
[X]补+[Y]补=[X+Y]补 [X]补- [Y]补=[X-Y]补
计算机组成原理 定点加、减法运算
1.2、课堂练习
X=0.11011 Y=0.00011 X=-0.11011 Y=-0.00011
[X]补=
[X+Y]补=0.11110
[X+Y]补=1.00010
[X-Y]补= 0.11000
[X-Y]补=1.01000
计算机组成原理 定点加、减法运算
2、溢出问题 2.1、溢出概念 课堂练习:
X=0.1011 Y=0.1100 [X]补= [Y]补= [X+Y]补= [X-Y]补=
X=-0.1101 Y=-0.1011 [X]补= [Y]补= [X+Y]补= [X-Y]补=
(溢出)
计算机组成原理
计算机组成原理 定点加、减法运算
X=0.1011 Y=0.1100 [X]补=0.1011 [Y]补=0.1100 [X+Y]补=1.0111 × [X-Y]补= 1.0111
X=-0.1101 Y=-0.1011 [X]补=1.0011 [Y]补=1.0101 110

计算机组成原理(白中英)运算方法和运算器(精品)

计算机组成原理(白中英)运算方法和运算器(精品)
能表示的数据范围小 使用不方便,运算精度较低 存储单元利用率低
2020年10月15日星期四
8
2.1.2 数的机器码表示
重点: 1、原码、补码、移码的表示形式 2、补码的定义 3、原码、补码、移码的表示范围
2020年10月15日星期四
9
1、原码表示法——定义 xnxn-1xn-2……x1x0
第2章 运算方法和运算器
目录
2.0 数据的类型
2.1 数据与文字的表示方法 (掌握)
2.2 定点加法、减法运算
(掌握)
2.3 定点乘法运算
(理解)
2.4 定点除法运算
(理解)
2.5 定点运算器的组成
(了解)
2.6 浮点运算方法和浮点运算器(掌握)
2020年10月15日星期四
2
学习要求
掌握定点和浮点数的表示方法,表示范围; 掌握定点数的补码加减法、常用的乘除法运算方法; 掌握浮点数的加减运算方法; 掌握数据校验的方法; 理解溢出判断方法; 清楚运算器部件的组成结构及设计方法。
定点整数: [x]补= 举例: x为n+1位
x 2n+1+x = 2n+1-|x|
2n> x ≥0 (mod 2n+1) 0≥x ≥ -2n
[+0.110 ] 补 = 0.110 [-0.110] 补 = 10 + (-0.110) = 1.010
实际机器中保存时 并不保存小数点
[+110]补 = 0110
若运算结果超出了计算机所能表示的数值范围, 则只保留它的小于模的低n位的数值,超过n位的 高位部分就自动舍弃了。
2020年10月15日星期四
14
2、补码表示法——定义 xnxn-1xn-2……x1x0

计算机组成原理第四版第二章

计算机组成原理第四版第二章
[x]补=0.1001, [y]补=0.0101 [x]补 0. 1 0 0 1
+ [y]补 0. 0 1 0 1 [x+y]补 0. 1 1 1 0
所以x+y=+0.1110
Back
第二章 运算方法和运算器
B 补码减法
➢ 公式:
[x-y]补=[x]补-[y]补=[x]补+[-y]补
➢ 举例
已知 x=+0.1101 , y=+0.0110,求x-y。 解: [x]补=0.1101 [y]补=0.0110 ,[-y]补=1.1010 [x]补 0. 1 1 0 1 + [-y]补 1. 1 0 1 0 [x-y]补 1 0. 0 1 1 1
最大正数,称为“上溢” 或“正溢出”
两个负数相加,结果 小于机器所能表示的最
小负数,称为“下溢” 或“负溢出”
判断方法
举例说明
Back
第二章 运算方法和运算器
溢出检测方法常用以下两种方法:
1.采用双符号位(变形补码)判断方法:
变形补码: “00”表示正数、“11”表负数,两符号位同时参加运算, 运算结果符号出现01或10表明溢出。
发生溢出;而在浮点运算时,运算结果超出尾数的表示范围 却并不一定溢出,只有当阶码也超出所能表示的范围时,才 发生溢出。
Back
3.十进制数串的表示方法
➢ 目前,大多数通用性较强的计算机都能直接 处理十进制形式表示的数据。十进制数串 在计算机内主要有两种表示形式:
➢ 1.字符串形式 ➢ 2.压缩的十进制数串形式
➢ 计算机采用定点数表示时,对于既有整数又有小数的原始数据,需要设 定一个比例因子,数据按其缩小成定点小数或扩大成定点整数再参加运 算,运算结果,根据比例因子,还原成实际数值。若比例因子选择不当, 往往会使运算结果产生溢出或降低数据的有效精度。

最新计算机组成原理课件第二章

最新计算机组成原理课件第二章

1、原码表示法
定点整数x0. x1x2…xn
例:x=+11001110 , y=-11001110 [x]原=011001110 , [y]原=111001110
信息工程学院软件工程系 2021/1/22
1、原码表示法
原码特点: 表示简单,易于同真值之间进行转换,实现乘除运
算规则简单。 进行加减运算十分麻烦。
52位,指数偏移值是1023。因此规格化的64位浮点 数x的真值为:
x=(-1)S×(1.M)×2E-1023
e=E-1023
一个规格化的32位浮点数x的真值表示为
x=(-1)S×(1.M)×2E-127
e=E-127
信息工程学院软件工程系 2021/1/22
2.1.1数据格式
真值x为零表示:当阶码E为全0且尾数M也为全0时的值,结 合符号位S为0或1,有正零和负零之分。
计算机组成原理课件第二章
第二章 运算方法和运算器
2.1数据与文字的表示方法 2.2定点加法、减法运算 2.3定点乘法运算 2.4定点除法运算 2.5定点运算器的组成 2.6浮点运算方法和浮点运算器
信息工程学院软件工程系 2021/1/22
2.1.1数据格式
4、定点表示法的特点 定点数表示数的范围受字长限制,表示数的范围有
真值x为无穷大表示:当阶码E为全1且尾数M为全0时,结合 符号位S为0或1,也有+∞和-∞之分。
这样在32位浮点数表示中,要除去E用全0和全1(25510)表 示零和无穷大的特殊情况,指数的偏移值不选128 (10000000),而选127(01111111)。对于规格化浮点数, E的范围变为1到254,真正的指数值e则为-126到+127。因此 32位浮点数表示的绝对值的范围是10-38~1038(以10的幂表

计算机组成原理教案(第二章)

计算机组成原理教案(第二章)

最小负数值=-(215-1)10=(-32767)10
1
111 111 111 111 111
例6]假设由S,E,M三个域组成的一个32位二进制字所表示的非零规格 化浮点数x,真值表示为: x=(-1)s×(1.M)×2E-128 问:它所表示的规格化的最大正数、最小正数、最大负数、最小负 数是多少? 1)最大正数 0 11 111 111 111 111 111 111 111 111 111 11
2.1.1 数据格式
计算机中常用的数据表示格式有两种
一是定点格式,数值范围有限,要求但的处理硬件比较简单。
二是浮点格式,数值范围很大,但要求硬件比较复杂。
1.定点数的表示方法
定点表示:约定机器中所有数据的小数点位置是固定不变的
(x0:符号位,0代表正号,1代表负号):
纯小数和纯整数
目前计算机中多采用定点纯整数表示,因此将定点数表示的运算 简称为整数运算。
00000001 0000000011
(2).压缩的十进制数串形式
每个数位占用半个字节(即4个二进制位),其值可用二-十编码 (BCD码)或数字符的ASCII码的低4位表示。 符号位也占半个字节并放在最低数字位之后,其值选用四位编 码中的六种冗余状态中的有关值,
1 2 3 C
(+123) 0 1 2 D
2.浮点数的表示方法
浮点表示法:把一个数的有效数字和数的范围在计算机的一个 存储单元中分别予以表示,这种把数的范围和精度分别表示的 方法,数的小数点位置随比例因子的不同而在一定范围内自 由浮动。 9 × 10-28=0.9 × 10-27
N=Re.M M :尾数,是一个纯小数。
e :比例因子的指数,称为浮点数的指数,是一个整数。 R :比例因子的基数,对于二进计数值的机器是一个常数 ,一般规定R 为2,8或16。

计算机组成原理之运算方法和运算器介绍.

计算机组成原理之运算方法和运算器介绍.

②纯整数a.定点整数表示:N s N x N2 ..・N n(原码、反码、补码)b、范围:1W | X | Will (11)BP: 1W | X | 5-1由于有些数据用定点数不易表示,所以采用了浮点表示法。

2)浮点表示滋①定义:任意一个R进制都可以通过移动小数点的位置写成X=R E x M式中:R是基数,可以取2, 8, 16, —旦定义则不能改变, 是隐含的。

M是纯小数(含数的符号),称为尾数,表示数N的全部有效数字。

E是阶码,纯整数,指出小数点在该数中的位置。

由于阶码可以取不同的数值,所以,小数点的位置是不确定的,这种数被称为浮点数。

浮点数的表示格式:X=2fi x M1、将20.1875转换成,32位浮点数存储?2、若浮点数的二进制存储格式为(41A18000)求其十进制值?将十进制数数17.296875转换成位浮点数的二进制格式来存储?数值数据—定点数的表示方法□原码表示法□补码表示法□反码表示法□移码表示法数值数据—定点数的表示法(原码)数值数据—定点数的表示法(原码)实例:X1 =:0.10110-0.101100.0000[X]沪0.10110 1.101100.00001.0000实例:X1 =:10110-101100000 [X]原二0101101101100000010000数值数据—定点数的表示法(原码)性质: ■原码为符号位加数的绝对值,■原码零有两个编码,+0和・0编码不同■原码难以用于加减运算L=J■ N+1位二进制原码所表示的范小数:MAX=l-2 11 , MIN= - (1-2 n ) 整数:MAX=2n-l ,MIN= - (2n-l )数值数据一定点数的表示法(补码)■补码是在“模”和“同余”的概念下导出的。

“模”是指一个计量系统的计量范围,即产生“溢出”的量。

■继续推导:5-2=5+10 (MOD 12) 5+ (-2) =5+10 (MOD 12) -2=10 (MOD 12)■结论:数值数据一定点数的表示法(补5+10=3 (12自动丢 失。

计算机组成原理之定点加减法思维导图脑图

计算机组成原理之定点加减法思维导图脑图

定点加减法
位运算与逻辑运算非常简单
定点加、减法运算补码加法定点整数[x +y ]=补[x ]+补[y ]
补(mod 2)n +1定点小数[x +y ]=补[x ]+补[y ]补(mod 2)
补码减法定点整数[x −y ]=补[x ]−补[y ]=补[x ]+补[−y ]补(mod 2)n +1定点小数[x −y ]=补[x ]−补[y ]=补[x ]+补[−y ]补(mod 2)
等于的各位取反,末位加1
[−y ]补[y ]补定点数补码的加减法运算定点整数[x ±y ]=补[x ]+补[±y ]补(mod 2)n +1定点小数
[x ±y ]=补[x ]+补[±y ]补(mod 2)溢出概念与检验方法溢出
在定点数机器中,数的大小超出定点数能表示范围上溢数据大于机器所能表示的最大正数
下溢数据小于机器所能表示的最小负数
检验方法直接判别法
同号补码相加,结果符号位与加数相反异号补码相减,结果符号位与减数相同
硬件实现较复杂
变形补码判别法模4补码采用双符号位表示补码硬件实现简单,只需要对结果的符号进行异或
进位判别法
判别方法
最高位的进位与符号位的进位是否相同判别公式溢出标志V =C C f ⨁n −1二进制加法减法器逻辑门符号
一位半加器和全加器
全加器的逻辑结构门电路的时间延迟通常采用一个与非门或者一个或非门的时间延迟作为度量单位补充内容
与非门具有函数完备性在使用多发射极晶 体管的TTL集成电路中,与非门需要的晶体管也少于其他任何门电路多位二进制数据加法/减法器。

计算机组成原理-第2周下-定点加减法运算

计算机组成原理-第2周下-定点加减法运算
丢掉
[y]补= 1 1 0 1 1 10 0110
所以
x+y=+0110
6
例: x=-11001 ,y=-00011,求 x+y=?

解:[x]补=1 0 0 1 1 1, [y]补=1 1 1 1 0 1
[x]补=1 0 0 1 1 1 +
丢掉
[y]补=1 1 1 1 0 1 11 0 01 0 0 由以上三例看到,补码加法的特点: (1) 符号位要作为数的一部分一 起参加运算。 (2) 要在模2n+1的意义下相加, 即超过2n+1的进位要丢掉!
13
[例16] x=-1101, y=-1011,求x+y。 [解:] [x]补=10011 [y]补=10101 [x]补 + [y]补 [x+y]补 10011 10101 01000
两个负数相加的结果成为正数,这同样是错误的。 之所以发生错误,是因为运算结果产生了溢出。两个正数相 加,结果大于机器所能表示的最大正数,称为正溢出。而两个负数 相加,结果小于机器所能表示的最小负数,称为负溢出。

21
常见的门电路

1.与门 真值表表示的两输入端与门如表2-1所示,逻辑符号如图 2-1所示。从与门的逻辑关系上可以看出,如果输入端A 作为控制端,则A的值将会决定输入端B的值是否能被输 出到端口Y。
Y AB
A
B
Y=AB
0 0 0 0 1 0 1 0 0 1 1 1 表2-1 两输入端与门的真值表
27
5.或非门

真值表表示的两输入端或非门如表2-5所示,逻辑符号如 图2-5所示。可以利用或非门的输入端A来控制输入端B。 当A=0时,(输入信号被反相输出);当A=1时,则不管 B的值是什么,Y都为0。

定点运算

定点运算

定点运算定点加法、减法在上篇文章中计算机组成原理:数据与文字的表示方法,我们已经介绍了数的补码表示法,负数用补码表示后,就可以和正数一样来处理。

这样,运算器里只需要一个加法器就可以了,不必为了负数的加法运算,再配一个减法器。

定点数的加法、减法,实际上就是补码加法、减法。

补码加法补码加法运算基本公式:∙定点整数:[x+y]补[x+y]补 = [x]补[x]补 + [y]补[y]补(mod 2n+12n+1)∙定点小数:[x+y]补[x+y]补 = [x]补[x]补 + [y]补[y]补(mod 22)简单来说,只需将符号位和数值部分一起参与运算,并且将符号位产生的进位丢掉即可证明:(1)证明依据:补码的定义若定点整数的补码形式为x = x n xn x n−1xn−1x n−2xn−2……x1x1x0x0(x n x n 为符号位),则补码表示的定义是:(2)证明思路:分三种情况。

1. x、y均为正值(x﹥0,y﹥0)2. x、y一正一负(x﹥0,y﹤0 或者x<0,y>0)3. x、y均为负值(x<0,y<0)证明定点小数的补码加法:(定点整数的证明类似,此处不再证明)1、x﹥0,y﹥0[x]补[x]补 + [y]补[y]补 = x+y = [x+y]补[x+y]补(mod 22)2、x﹥0,y﹤0 (x<0,y>0 的证明与此类似)根据定义[x]补[x]补 = x,[y]补[y]补 = 2+y所以[x]补[x]补 + [y]补[y]补 = x+2+y = 2+(x+y)这个地方要考虑进位的问题。

当x+y>0 时,2+(x+y) > 2 ,进位 2 必丢失;故[x]补[x]补 + [y]补[y]补 = x+y = [x+y]补[x+y]补(mod 2)当x+y<0 时,2+(x+y) < 2 ;故[x]补[x]补 + [y]补[y]补 = 2+(x+y)= [x+y]补[x+y]补(mod 2)3、x<0,y<0根据定义[x]补[x]补 = 2+x,[y]补[y]补 = 2+y所以[x]补[x]补 + [y]补[y]补= 2+x+2+y= 2+(2+x+y)= 2+ [x+y]补[x+y]补(mod 2)= [x+y]补[x+y]补注:不懂mod 2 的可以转至上一篇计算机组成原理:数据与文字的表示方法查看补码的推导定点数补码加法举例补码减法补码减法运算基本公式:∙定点整数:[x−y]补[x−y]补 = [x]补[x]补 - [y]补[y]补 = [x]补[x]补 + [−y]补[−y]补(mod 2 n+12n+1)∙定点小数:[x−y]补[x−y]补 = [x]补[x]补 - [y]补[y]补 = [x]补[x]补 + [−y]补[−y]补(mod 2 2)证明:只需要证明[−y]补[−y]补 = - [y]补[y]补已证明[x+y]补[x+y]补 = [x]补[x]补 + [y]补[y]补故[y]补[y]补 =[x]补[x]补 + [y]补[y]补 - [x]补[x]补 = [x+y]补[x+y]补 - [x]补[x]补又[x−y]补[x−y]补 = [x+(−y)]补[x+(−y)]补 = [x]补[x]补 + [−y]补[−y]补故[−y]补[−y]补 = [x−y]补[x−y]补 - [x]补[x]补可得[y]补[y]补 + [−y]补[−y]补= [x+y]补[x+y]补 + [x−y]补[x−y]补 - [x]补[x]补 - [x]补[x]补= [x+y+x−y]补[x+y+x−y]补 - [x]补[x]补 - [x]补[x]补= [x+x]补[x+x]补 - [x]补[x]补 - [x]补[x]补= 0即证。

计算机组成原理2.2定点加减法运算

计算机组成原理2.2定点加减法运算
• (1)当x﹥0,y﹥0时,有x+y﹥0
• 根据数据补码的定义
• [x]补+[y]补=x+y=[x+y]补 (mod 2)
证明[x]补+[y]补=[x+y]补
• (2)当x﹥0,y﹤0,有x+y>0, 或x+y<0两种情况 • 根据补码定义[x]补=x,[y]补=2+y • [x]补+[y]补=x+2+y=2+(x+y) • 当x+y>0时,有
• [x]补+[y]补=x+y=[x+y]补(mod 2)
[x]补+[y]补=x+2+y=2+(x+y)
证明[x]补+[y]补=[x+y]补
• 当x+y<0时,2 + (x+y) < 2, 又因(x+y)<0,
• [x]补+[y]补=2+(x+y)=[x+y]补 (mod 2)
• (3)x<0,y>0,这种情况和第2种 情况一样
上式右边分为”2”和(2+x+y)两部分。 既然
又因(x+y)<0,所以
[x]补+[y]补=2+(x+y)=[x+y]补 (mod 2)
至此我们证明了,在模2意义下,
任意两数的补码之和等于该两数之和
的补码。这是补码加法的理论基础,
其结论也适用于定点整数。
[例8] x=0.1001, y=0.0101,求x+y
因此,图中最右边的全加器的起
始进位输入端被连接到功能方式线M
上,作减法时M=1,相当于在加法器
的最低位上加1。另外,图中左边还 表示出单符号位法的溢出检测逻辑; 当Cn =Cn - 1 时,运算无溢出;而当 Cn≠Cn-1 时,运算有溢出,经异或门 产生溢出信号。
现在我们计算一个n位的行波进位

兰州理工大学_计算机组成原理_N02-定点加减乘法运算

兰州理工大学_计算机组成原理_N02-定点加减乘法运算

2.3.2 补码乘法
1. 补码与真值得转换公式
补码数[N]补(=anan-1…a1a0)和真值N的 关系可以表示成:
n 1 i 0
N an 2 ai 2
n
i
(2.29)
n1 n i N (1 an )2 (1 ai )2 1 (2.30) i 0
在定点小数机器中,数的表示范围为|x| <1。
溢出:|运算结果| > 1
上溢:正数+正数>最大正数 下溢:负数+负数<最小负数 为了判断“溢出”是否发生,可采用两种检测的 方法: 双符号位法 单符号位法
1. 双符号位法
“变形补码”或“模4补码”,从而可使模2
补码所能表示的数的范围扩大一倍。
变形补码定义为: [ x] 补=
• 另外,图中左边还表示出单符号位法的溢 出检测逻辑;当Cn=Cn-1时,运算无溢出; 而当Cn≠Cn-1时,运算有溢出,经异或门产 生溢出信号
三个输入端和两个输入端可 按如下逻辑方程进行联系:
Si=Ai⊕Bi⊕Ci
Ci+1=AiBi+BiCi+CiAi
2.2.5 十进制加法器
BCD码(二—十进制码) 二进制加法器 “校正”逻辑
设有两个不带符号的二进制整数: A=am-1…a1a0 B=bn-1…b1b0
它们的数值分别为a和b,即
a ai 2
i 0 m 1 i
b bj 2
j 0
n 1
j
在二进制乘法中,被乘数A与乘数B相乘,产生m
+n位乘积P: P=pm+n-1…p1p0
乘积P 的数值为
m 1 i n 1 j P ab ai 2 b j 2 i 0 j 0 ai b j 2

§2.2定点加法、减法运算

§2.2定点加法、减法运算

正数太大了,向前有进位,而符号位向前 无进位;两个符号位:01,表示溢出

例: X=-0.1100 Y=-0.1000,求 X+Y=? 解: [X]补=11. 0100
+ [Y]补=11. 1000
10.1100
负数绝对值太大了对应的补码小,向前无进位,而符号 位向前有进位; 两个符号位:10,表示溢出 溢出逻辑表达式为:V=Sf1⊕ Sf2
(其中Sf1为最高符号位,Sf2为第二符号位,)
定点运算器 ——定点加减法
采用“单符号位法”
当最高有效位产生进位而符号位无进位时 , 产生上溢; 当最高有效位无进位而符号位有进位时,产生下溢。 故:溢出逻辑表达式为: V=Cf⊕Co 其中: Cf为符号位产生的进位,Co为最高有效位产生的 进位。(显然:此逻辑关系可用异或门方便地实现)
2、不带符号位的阵列乘法器
不带符号阵列乘法器逻辑图
2、不带符号位的阵列乘法器
3、带符号位的阵列乘法器
求补电路 原理:算前求补-乘法器-算后求补,见下图

3、带符号的阵列乘法器



求补电路小结
E=0时,输入和输出相等 E=1时,则从数最右端往左边扫描,直到第一个1的时 候,该位和右边各位保持不变0⊕A=A,左边各数值位 按位取反1⊕A=乛A 可以用符号作为E 的输入 原:1.11110 补:1.00010
最高有效位向前无进位,而符号位向前有 进位;表示溢出
Cf=1 Co =0
V=Cf⊕Co =1 溢出
采用单符号位的判断方法 例: X=-0.100 Y=-0.101,求 X+Y=? 解:
[X]补=1. 1 0 0 + [Y]补=1. 0 1 1 0. 1 1 1 两负数相加,结果应为负数,但运算结 果为正数,表明有溢出发生。数据向前 无进位,符号位向前有进位

计算机组成原理 第二章 运算方法和运算器讲解

计算机组成原理 第二章 运算方法和运算器讲解

运算的控制端
(P43有误)
小结
不恢复余数法除法 加法/减法单元和除法阵列 2.3节书上没讲的例题请自学
定点乘法和除法(复习)
请简述原码乘、除法的规则 不带符号的阵列乘法器有哪二部分组成? 对2求补电路的作用?(E端的作用?) 求其对2补数,最高位是符号位:
0110100,1110100 带求补级的阵列乘法器是( )符号位的( )
阶码上溢(+,-∞)
阶码下溢(0) 尾数上溢(右规) 尾数下溢(有效位移出,舍入)
例28.设x=2010×0.11011011,y=2100×(-
0.10101100),求x+y。
设补码表示,阶码用双符号位,尾数用单符号位,则浮点表示
[x]浮=00 010, 0.11011011 [y]浮=00 100, 1.01010100
计算机中定点数常用补码表示、存储、计算
4·移码 浮点数的阶码常用移码表示
定义:[ x]移=x+2n
2n >x>= -2n 得到的移码总位数是n+1
复习提问
请写出-1010的原码、反码、补码 请写出-1010的8位原码、反码、补码 请写出-1010的移码 请写出-1010的8位移码 请写出+101.011*2+11的规格化形式 一IEEE754标准32位浮点数的16进制值是
<1> 判0,x,y均不为零
<2> 求阶差并对阶 △E为-2,x的阶码小,
应使Mx右移两位,Ex加2, [x]浮=00 100,0.00110110(11)
<3> 尾数求和

0. 0 0 1 1 0 1 1 0 (11)

第2章2.2定点运算和定点运算器

第2章2.2定点运算和定点运算器

∴ x+y= -0.0111
5
2.2.1 定点加、减法运算
2. 补码减法 减去一个数就是加上这个数的负数, [x-y]补=[x+(-y)]补=[x]补+[-y]补 (mod 2)
从[y]补求[-y]补的法则:将[y]补连同符号位“取反且最低位
加1,相当于求负数的补码。 (hw)
【例2-12】 x= -0.1010,y= -0.0011,求 x-y。 【解】 [x]补=1.0110 [y]补=1.1101 [-y]补=0.0011
2)采用硬件实现乘除法运算
3)并行乘除法器

从编码角度考虑:乘除由法结果的符ቤተ መጻሕፍቲ ባይዱ位确定比较容易,运算结果的
绝对值和参加运算的数据的符号无关,所以用原码实现也很简单。 但在现代计算机中一般还是采用补码进行乘除法运算
9
2.2.3 逻辑运算
参加逻辑运算的数据称为逻辑数,是不带符号位的二进 数通常用“1” 表示逻辑真,用“0”表示逻辑假 1 逻辑非(取反运算)
操作数的各位按位取反,使每一位0变成1,1变成0
设x=x0x1x2…xn,则逻辑非标记 【解】
x x0 x1x2 xn 【例2-14】 设x=10100010,求 x 。
x =01011101
10
2.2.3 逻辑运算
2 逻辑与 (逻辑乘) • 两个操作数相同位的数据进行按位“与”运算,两个都是1 则结果为1,两个中只要有1个为0结果就是0 一般写成“∧”或“·” • 特点 对任何数据逻辑与0都会变成0,而逻辑与1则保持原有数据 不变;可用于对一个数据的某几位清0,而其他位保持不变 【例2-15】 设x=01011101,y=10011001,求x∧y。 【解】 01011101
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算x-y,须得到[x-y]补
2、补码减法
最大的优点就是将减法运算转换成加法
运算。 [X-Y]补= [X]补+[-Y]补 = [X]补-[Y]补
[-Y]补=- [Y]补 (mod 2n+1)
证明过程略
例如 X=(11)10=(1011)2 Y=(5)10=(0101)2 已知字长n=5位,求x-y。 [x-y]补=[X]补+[-Y]补 =01011+11011=100110=00110=(6)10 注: 最高1位已经超过字长故应丢掉
定点加法、减法运算
2.2 定点加法、减法运算
2.2.1补码加减法 2.2.2溢出检测 2.2.3基本的加法和减法器 2.2.4十进制加法器
2.2.1补码加减法
补码加法

公式:[x+y]补=[x]补+[y]补
证明过程略
验证过程可以有
2.2.1 补码加法
[例11]
x=+1001 , y=+0101 , 求 x+y=? 解:[x]补 = 01001 , [y]补 = 00101 [x]补 01001 + [y]补 00101 ———————————————— [x+y]补 01110
[例14]
x=+1101 , y=+0110 , 求 x-y=? 解:[x]补 = 01101 [y]补 = 00110 , [-y]补 = 11010
[x]补 01101 + [-y]补 11010 ———————————————— [x-y]补 100111 ∴ x-y = +0111
以一个字节存储练习: -1+0.01 -0.1011-0.0010
由[-X]补求[X] 补,此规则 同样适用。
提问: 由[X]补求[X/2]补?
X与X/2 X:10110
向右移动一位:01011
=x/2ቤተ መጻሕፍቲ ባይዱ
由[X]补求[X/2]补?
将[X]补的符号位和数值位一起向右移动一次.
符号位移走后保持原来的值不变. 例:
[X]补= 1 0 1 0 1 0 0 0 [X/4]补和 [X/8]补同理 [X/2]补= 1 1 0 1 0 1 0 0 0 这称为 “算术移位”
2.2.1补码加减法

x=-0.1011,y=0.0111,求x+y
[x]补=1.0101 [y]补=0.0111 [x+y]补=[x]补+[y]补 =1.0101+0.0111=1.1100 x+y=-0.0100
2.2.1 补码加法
补码减法

公式: [x-y]补=[x]补+[-y]补 (证明略)
待计算的两个数:x,y均以补码形式出现, 现在期望得到[-y]补,怎么转换? 注意:已知[y]补求[-y]补方法: 连符号位一起各位求反,末位加1。 公式:[-y]补 = -[y]补 + 2-n 2-n涵义:最末位的1
例:[X]补=11010101 解:
[X]补= + [-X]补= 1 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 1
[例13]
已知x1=-1110 , x2=+1101 , 求: [x1]补 , [-x1]补 , [x2]补 , [-x2]补 。
解: [x1]补 = 10010 [-x1]补 = 01101 + 00001 = 01110
[x2]补 = 01101
[-x2]补 = 10010 + 00001 = 10011
2.2.1补码加减法
特殊例子:
x=+0.11011,y=-0.11111,求x-y。 [x]补=0.11011 [y]补=1.00001 输入的两个数是补码形式 [-y]补=0.11111 [x-y]补=[x]补+[-y]补 =0.11011+0.11111 =1.11010 x-y=-0.00110 判断?溢出?
∴ x+y = +1110
2.2.1 补码加法
[例12]
x=+1001 , y=-0101 , 求 x+y=? 解:[x]补 = 01001 , [y]补 = 11011 [x]补 01001 + [y]补 11011 ———————————————— [x+y]补 100100
∴ x+y = +0100
相关文档
最新文档