补码加减法运算(计算机组成原理)
下溢
上溢
机器定点小数表示
计算机组成原理
9
2.溢出的检测方法
[x]补 + [y]补
[x+y]补
(1)单符号位法
0. 1 0 1 1 0. 1 0 0 1 1. 0 1 0 0
溢出逻辑表达式为:
V=S1 S2 Sc + S1 S2 Sc
计算机组成原理
[x]补 1. 0 0 1 1 + [y]补 1. 0 1 0 1
其结论也适用于定点整数。
计算机组成原理
3
例: x=0.1001, y=0.0101, 求 x+y。
解:
[x]补=0.1001, [y]补=0.0101
[x]补 + [y]补 [x+y ]补
0. 1 0 0 1 0. 0 1 0 1 0. 1 1 1 0
所以
x+y=+0.1110
例: x=+0.1011, y=-0.0101, 求 x+y。
[x]补 +[-y]补 [x-y]补
0.1 1 0 1 1.1 0 1 0 1 0.0 1 1 1
x= -0.1101,y= -0.0110,求x-y=?
∴ x-y=+0.0111
解: [x]补=1.0011
[y]补=1.1010
[-y]补=0.0110
[x]补 + [-y]补
[x-y]补
计算机组成原理
符号位出现“01”,表示已溢出,正溢。即结果大于+1
例 x= -0.1100, y= -0.1000, 求x+y。
解:
[x]补=11.0100 [x]补
+ [y]补
[y]补=11.1000 1 1. 0 1 0 0 1 1. 1 0 0 0 1 0. 1 1 0 0
1.0 0 1 1 0.0 1 1 0 1.1 0 0 1
∴x -y = 0.0111
6
溢出及与检测方法
1.概念
在定点小数机器中,数的表示范围为|x|<1。在运算过程中如出现大于1
的现象,称为 “溢出”。
下溢
上溢
机器定点小数表示
计算机组成原理
7
例:x=+0.1011, y=+0.1001, 求x+y。
不管溢出与否,最高符号位永远表示结果的正确符号。
溢出逻辑表达式为:V=Sf1⊕Sf2
式中:Sf1和Sf2分别为最高符号位和第二符号位,此逻辑表达式可用异或门实现。
计算机组成原理
13
例 x= +0.1100, y= +0.1000, 求x+y。
解:
[x]补=00.1100 [x]补
+ [y]补
[y]补=00.1000 0 0. 1 1 0 0 0 0. 1 0 0 0 0 1. 0 1 0 0
解:
[x]补=0.1011, [y]补=1.1011
[x]补
0. 1 0 1 1
+[y]补
1. 1 0 1 1
[x+y]补 1 0. 0 1 1 0
计算机组成原理
所以
x+y=0.0110
4
3.补码减法
补码减法运算的公式:
[ x-y ]补=[ x ]补-[ y ]补=[ x ]补+[-y ]补
公式证明: 只要证明[–y]补= –[ y]补, 上式即得证。
计算机组成原理
2
2.补码加法运算 补码加法的公式:
[ x ]补+[ y ]补=[ x+y ]补 (mod 2)
特点:不需要事先判断符号,符号位与码值位一起参加运算。 符号位相加后若有进位,则舍去该进位数字。
在模2意义下,任意两数的补码之和等于该两数之和的补码。 这是补码加法的理论基础。
补码加法的特点: (1)符号位要作为数的一部分一起参加运算; (2)在模2的意义下相加,即大于2的进位要丢掉。
[x]补 1. 0 0 1 1
+ [y]补 1. 0 1 0 1
[x+y]补 0. 1 0 0 0
两个负数相加的结果成为正数,这同样是错误的。
计算机组成原理
8
发生错误的原因,是因为运算结果超出编码所能表示的数字大小。 两个正数相加: 结果大于机器所能表示的最大正数,称为上溢; 两个负数相加:结果小于机器所能表示的最小负数,称为下溢。
两数变形补码之和等于两数和的变形补码,要求: • 两个符号位都看做数码一样参加运算; • 两数进行以4为模的加法,即最高符号位上产生的进位要丢掉。
计算机组成原理
12
双符号位的含义如下:
Sf1Sf2 =00
01 10 11
结果为正数,无溢出
结果正溢 结果负溢 结果为负数,无溢出
即:结果的两个符号位的代码不一致时,表示溢出; 两个符号位的代码一致时,表示没有溢出。
解:
。
[x]补=0.1011 [x]补
+ [y]补 [x+y]补
[y]补=0.1001 0. 1 0 1 1 0. 1 0 0 1 1. 0 1 0 0
两个正数相加的结果成为负数,这显然是错误的
例:x= -0.1101, y= -0.1011, 求x+y。
解:
[x]补=1.0Biblioteka 11[y]补=1.0101
证明:
∵
令
∴
故
[x+y]补=[x]补+[ y]补 y= - x
(mod 2)
[0]补 =[x]补 + [ - x]补
[-x]补=-[ x]补
(mod 2)
减法运算要设法化为加法完成。
计算机组成原理
5
例: x=+0.1101, y=+0.0110, 求 x-y。
解: 例:
[x]补=0.1101 [ y]补=0.0110 [ -y]补=1.1010
[x+y]补 0. 1 0 0 0
x0
FA
z0
y0
判断
V
电路
判断电路 10
(2)双符号位法 一个符号位只能表示正、负两种情况,当产生溢出时,符号位的含义就
会发生混乱。如果将符号位扩充为两位(Sf1、Sf2),其所能表示的信息量将
随之扩大,既能判别是否溢出,又能指出结果的符号。
双符号位法也称为“变形补码”或“模4补码” 。
计算机组成原理
补码加减法运算
2020年5月19日
计算机组成原理
1
补码加减法运算
1.原码加/减法运算
加法规则: 先判符号位,若相同,绝对值相加,结果符号不变; 若不同,则作减
法, |大| - |小|,结果符号与|大|相同。 减法规则:
两个原码表示的数相减,首先将减数符号取反,然后将被减数与符号取 反后的减数按原码加法进行运算。
变形补码定义:
x
[x]补=
4+x
0 x<2 -2 x<0
(mod 4)
计算机组成原理
11
采用变形补码后数的表示: • 任何小于1的正数: 两个符号位都是“0”,即 00.x1x2...xn; • 任何大于-1的负数:两个符号位都是“1”,即 11.x1x2…xn
模4补码加法公式:[x]补+[ y]补=[x+y]补 (mod 4)
2补码加减法运算详解
[x]补 +[ y ] 补 0. 1 0 1 1 1. 1 0 1 1
解:
[x]补=0.1011,
[ x +y ] 补
计算机组成原理
1 0. 0 1 1 0
所以
x+y=0.0110
4
3.补码减法
补码减法运算的公式: [ x -y ] 补=[ x ] 补-[ y ] 补=[ x ] 补+[ -y ] 补
V =C f ⊕C o
其中Cf为符号位产生的进位,Co为最高有效位产生的进位。 此逻辑表达式也可用异或门实现。 V=C1⊕Co 判断电路
c0 x0 y0 c1 x1 y1
FA
z0
V
FA
z1
11
计算机组成原理
(3)双符号位法 一个符号位只能表示正、负两种情况,当产生溢出时,符号位的含义就 会发生混乱。如果将符号位扩充为两位(Sf1、Sf2),其所能表示的信息量将 随之扩大,既能判别是否溢出,又能指出结果的符号。 双符号位法也称为“变形补码”或“模4补码” 。 定点小数变形补码定义: 0 x<1 -1 x<0 0 x<2 n -2 x<0 n (mod 2
机器定点小数表示 发生溢出的原因,是因为运算结果超出编码所能表示的数字大小。 两个正数相加: 结果大于机器所能表示的最大正数,称为上溢; 两个负数相加:结果小于机器所能表示的最小负数,称为下溢。
计算机组成原理 7
例:x=+0.1011, y=+0.1001,
解: [x]补=0.1011 [x]补 + [y]补 [x+y]补
两数差的补码等于两数补码之差
公式证明: 只要证明[–y]补= –[y]补, 上式即得证。 证明:
数字逻辑与计算机组成原理:第二章 数据的表示与运算
第二章 数据的表示与运算
第一节 数的表示
一、无符号数和有符号数
1、无符号数:
没有符号的数,寄存器中的每一位都可用 来存放数据
机器字长为n位,无符号数的表示范围 为0~2n-1
反映无符号数的表示范围
8位 16 位
0 ~ 255 0 ~ 65535
有两种常用的无符号表示法: ◆ 非负数码:表示0或一个正数
(1) 定义
整数
0,x
2n > x ≥ 0
[x]反 = ( 2n+1 – 1) + x 0 ≥ x > 2n(mod 2n+1 1)
x 为真值
n 为整数的位数
如 x = +1101
x = 1101
[x]反 = 0,1101
[x]反 = (24+1 1) 1101 = 11111 1101
用 逗号 将符号位
= 1,0010
和数值部分隔开
小数 x
[x]反 = ( 2 – 2-n) + x
1>x≥ 0 0 ≥ x > 1(mod 2 2-n)
x 为真值 n 为小数的位数
如 x = + 0.1101
x = 0.1010
[x]反 = 0.1101
[x]反 = (2 2-4) 0.1010
= 1.1111 0.1010
有符号小数: +0.1011,在机器中表示为
-0.1011,在机器中表示为
第一节 数的表示
一、无符号数和有符号数 2、有符号数
有符号整数: +1101,机器中表示为
-1101, 机器中表示为
第一节 数的表示
一、无符号数和有符号数
计算机组成原理第二章课后习题答案
第二章运算方法和运算器练习一、填空题1. 补码加减法中,(符号位)作为数的一部分参加运算,(符号位产生的进位)要丢掉。
2. 为判断溢出,可采用双符号位补码,此时正数的符号用(00)表示,负数的符号用(11)表示。
3. 采用双符号位的方法进行溢出检测时,若运算结果中两个符号位(不相同),则表明发生了溢出。
若结果的符号位为(01),表示发生正溢出;若为(10),表示发生负溢出。
4. 采用单符号位进行溢出检测时,若加数与被加数符号相同,而运算结果的符号与操作数的符号(不一致),则表示溢出;当加数与被加数符号不同时,相加运算的结果(不会产生溢出)。
5. 利用数据的数值位最高位进位C和符号位进位Cf的状况来判断溢出,则其表达式为over=(C⊕Cf)。
6. 在减法运算中,正数减(负数)可能产生溢出,此时的溢出为(正)溢出;负数减(正数)可能产生溢出,此时的溢出为(负)溢出。
7. 补码一位乘法运算法则通过判断乘数最末位Yi和Yi-1的值决定下步操作,当YiYi-1=(10)时,执行部分积加【-x】补,再右移一位;当YiYi-1=(01)时,执行部分积加【x】补,再右移一位。
8. 浮点加减运算在(阶码运算溢出)情况下会发生溢出。
9. 原码一位乘法中,符号位与数值位(分开运算),运算结果的符号位等于(两操作数符号的异或值)。
10. 一个浮点数,当其补码尾数右移一位时,为使其值不变,阶码应该(加1)。
11. 左规的规则为:尾数(左移一位),阶码(减1)。
12. 右规的规则是:尾数(右移一位),阶码(加1)。
13. 影响进位加法器速度的关键因素是(进位信号的传递问题)。
14. 当运算结果的补码尾数部分不是(11.0×××××或00.1×××××)的形式时,则应进行规格化处理。
当尾数符号位为(01)或(10)时,需要右规。
补码加减法运算
[-y]补=0.0110
[x]补 + [-y]补
[x-y]补
计算机组成原理
1.0 0 1 1 0.0 1 1 0 1.1 0 0 1
∴x -y = - 0.0111
6
溢出及与检测方法
1.概念
在定点小数机器中,数的表示范围为|x|<1。在运算过程中如出现大于1
的现象,称为 “溢出”。
下溢
上溢
机器定点小数表示
T通常采用一个 “与非”门或一 个“或非”门的 时间延迟来作为 度量单位。
20
(1)对一位全加器(FA)来说,Si的时间延迟为6T(每级异或门延迟3T); Ci+1的时间延迟为5T。
Ci+1
Si
≥1
=1
&
&
=1
计算机组成原理
Ci
Ai Bi
21
(2)n位行波进位加法器的延迟时间ta为: 考虑溢出检测时,有: ta=n·2T+9T=(2n+9)T
发生溢出的原因,是因为运算结果超出编码所能表示的数字大小。 两个正数相加: 结果大于机器所能表示的最大正数,称为上溢; 两个负数相加:结果小于机器所能表示的最小负数,称为下溢。
计算机组成原理
7
例:x=+0.1011, y=+0.1001, 求x+y。
解:
[x]补=0.1011
[y]补=0.1001
计算机组成原理
补码加减法运算
2020年5月26日
计算机组成原理
1
补码加减法运算
1.原码加/减法运算
加法规则: 先判符号位,若相同,绝对值相加,结果符号不变; 若不同,则作减
法, |大| - |小|,结果符号与|大|相同。 减法规则:
计算机原理(岳乡成)补码加减法运算(公开课)
范围,计算结果错误,就是所谓的溢出。
如何判断两个数在补码运算中是否会产生溢出: 判断的方法:双进位溢出判断法。 说明:使用这方法,要引入两个符号cs和cs+1,cs用来表示参加运算 的两个有符号数中数值位的最高位是否有向符号位进位的情况,有 进位,则cs=1,否则cs=0。Cs+1用来表示符号位是否有向更高位进位 的情况,有进位,则cs+1=1,否则cs+1=0。通过判断cs与cs+1的状态来 判断是否产生溢出,如果cs与cs+1相同(即cs与cs+1同时为0,或同时 为1),则不产生溢出;如果cs与cs+1相异(即cs和cs+1一个为0,一个 为1),则产生溢出。
计算机组成原理
9
计算机组成原理
3
2.补码减法
补码减法运算的规则:
[ x -y ]补=[ x ]补-[ y ]补=[ x ]补+[-y ]补(mod 2n)
两数差的补码等于两数补码之差
减法运算化为加法完成。关键是求[-Y]补
计算机组成原理
4
例: 解:
x= -0.1101,y= -0.0110,求x-y=? [x]补=1.0011 + [y]补=1.1010 [-y]补=0.0110
计算机组成原理
第三章复习1 补码加减法运算及溢 出的判断
计算机组成原理
1
1.补码加法运算 补码加法的规则: [ x ] 补+[ y ] 补=[ x +y ] 补
(mod 2n)
任意两数的补码之和等于该两数之和的补码,这是补码加法的理论基础。
补码加法的特点: (1)符号位要作为数的一部分一起参加运算; (2)在模2的意义下相加,即符号位之前多出的位为模,做丢失处理。
计算机专业基础综合计算机组成原理(数据的表示和运算)历年真题试卷汇编1
计算机专业基础综合计算机组成原理(数据的表示和运算)历年真题试卷汇编1(总分:84.00,做题时间:90分钟)一、单项选择题(总题数:35,分数:70.00)1.定点补码加减法运算中,当运算结果出现____时,表示运算结果负溢出。
【华中科技大学2002年】A.符号位为00B.符号位为01C.符号位为10 √D.符号位为11考查双符号位时溢出的判别。
两个符号位不同时,表示溢出,此时最高位符号位代表真实符号。
2.采用变形补码判溢出,当发生正溢出时,其两位符号位为____。
【国防科技大学2002年】A.0B.1 √C.10D.11考查双符号位时溢出的判别。
原理同上题。
3.在定点运算器中,无论采用双符号位还是单符号位,必须有____。
【上海大学2001年】A.译码电路,它一般用与非门来实现B.编码电路,它一般用或非门来实现C.溢出判断电路,它一般用异或门来实现√D.移位电路,它一般用与或非门来实现考查溢出判别所需硬件配置。
三种溢出判别方法,均必须有溢出判别电路,可用异或门来实现。
4.在原码不恢复余数除法(又称原码加减交替法)的算法中,____。
【哈尔滨工程大学2004年】A.每步操作后,若不够减,则需恢复余数B.若为负商,则恢复余数C.整个算法过程中,从不恢复余数√D.仅当最后一步不够减时,才恢复一次余数考查原码不恢复余数除法。
5.在补码一位乘中,若判断位Y n Y n+1 +1=10,则应执行的操作是____。
【电予科技大学1996年】【上海大学1998年】A.原部分积加[X] 补,然后右移一位√B.原部分积加[X] 补,然后右移一位C.原部分积加[X] 补,然后左移一位D.原部分积加[X] 补,然后左移一位考查补码一位乘。
6.实现N位(不包括符号位)补码一位乘时,乘积为____位。
【西安电子科技大学2007年】A.NB.N十1C.2N √D.2N+1考查补码一位乘。
补码一位乘法运算过程中一共向右移位N次,加卜原先的N位,一共是2N位数值位。
计算机组成原理知识点总结
计算机组成原理知识点总结第一章一、数字计算机的五大部件(硬件)及各自主要功能(P6)计算机硬件组成:存储器、运算器、控制器、输入设备、输出设备。
1、存储器(主存)主要功能:保存原始数据和解题步骤。
包括:内存储器(CPU 直接访问),外存储器。
2、运算器主要功能:进行算术、逻辑运算。
3、控制器主要功能:从内存中取出解题步骤(程序)分析,执行操作。
包括:计算程序和指令(指令由操作码和地址码组成)。
4、输入设备主要功能:把人们所熟悉的某种信息形式变换为机器内部所能接收和识别的二进制信息形式。
5、输出设备主要功能:把计算机处理的结果变换为人或其他机器所能接收和识别的信息形式。
注:1、冯诺依曼结构:存储程序并按地址顺序执行。
2、中央处理器(CPU):运算器和处理器的结合。
3、指令流:取指周期中从内存读出的信息流,流向控制器。
数据流:在执行器周期中从内存读出的信息流,由内存流向运算器。
二、数字计算机的软件及各自主要功能(P11)1、系统软件:包括服务性程序、语言程序、操作程序、数据库管理系统。
2、应用程序:用户利用计算机来解决某些问题而设计。
三、计算机的性能指标。
1、吞吐量:表征一台计算机在某一时间间隔内能够处理的信息量,用bps度量。
2、响应时间:表征从输入有效到系统产生响应之间的时间度量,用时间单位来度量。
3、利用率:在给定的时间间隔内,系统被实际使用的时间所在的比率,用百分比表示。
4、处理机字长:常称机器字长,指处理机运算中一次能够完成二进制运算的位数,如32位机、64位机。
5、总线宽度:一般指CPU从运算器与存储器之间进行互连的内部总线一次操作可传输的二进制位数。
6、存储器容量:存储器中所有存储单元(通常是字节)的总数目,通常用KB、MB、GB、TB来表示。
7、存储器带宽:单位时间内从存储器读出的二进制数信息量,一般用B/s(字节/秒)表示。
8、主频/时钟周期:CPU的工作节拍受主时钟控制,按照规定在某个时间段做什么(从什么时候开始、多长时间完成),主时钟不断产生固定频率的时钟信号。
补码加减法运算(计算机组成原理)课件
补码加减法运算在计算机中的局限性
符号位处理
在补码加减法中,符号位需要单独处理,增加了计算的复杂性。
对负数运算的支持有限
虽然补码表示法可以处理负数,但对于某些复杂的负数运算(如乘 除法),可能需要额外的处理方法。
缺乏直观性
补码表示法和人类常用的十进制表示法不同,导致初学者难以理解 。
04
补码加减法运算的 实例分析
对于计算机专业的学生和研究者来说 ,掌握补码加减法是学习计算机组成 原理和深入了解计算机体系结构的基 础。在此基础上,可以进一步探索其 他数值表示和运算方法。
在实际应用中,如何优化补码加减法 的运算速度和精度,以及如何将其更 好地应用于各种不同领域,是值得进 一步研究的问题。同时,随着量子计 算等新型计算技术的发展,数值运算 的方法和原理也可能会发生变化,需 要保持关注和学习。
溢出及其处理
溢出的概念
在进行补码加减法运算时,如果结果超出了数据类型的表 示范围,就会产生溢出。溢出会导致计算结果的错误。
溢出的判断
判断是否溢出可以通过检查运算结果的符号位和最高位(进位) 来实现。如果符号位和最高位(进位)不同,则说明产生了溢出
。
溢出的处理
处理溢出的方法有多种,包括检测溢出后进行相应的处理、采用 有符号数乘除法等方法。在实际应用中应根据具体情况选择合适
补码加法运算的实例
假设有两个补码表示的二进制数X和Y,其中X=+1010,Y=-0101,则X+Y=+1010+(0101)=+0101,因为结果的符号位为0,所以结果为正数,即X+Y=+5。
补码的减法运算
补码减法运算的规 则
在进行补码减法运算时,首先 将减数取反加1得到相应的正 数,然后将这个正数与被减数 相加,最后根据结果的符号位 确定结果的符号,正数符号位 为0,负数符号位为1。
计算机组成原理课件第二章补码加减法运算
23
并行加法器进位链
C1 = A1B1+(A1⊕B1)C0=G1+P1C0
C2 = A2B2+(A2⊕B2) C1=G2+P2C1 =G2+P2(G1+P1C0) =G2+P2G1+P2P1C0
其结论也适用于定点整数。
例: x=0.1001, y=0.0101, 求 x+y。
解:
[x]补=0.1001, [y]补=0.0101
[x]补 + [y]补
[x+y ]补
0. 1 0 0 1 0. 0 1 0 1 0. 1 1 1 0
所以
x+y=+0.1110
例: x=+0.1011, y=-0.0101, 求 x+y。
随之扩大,既能判别是否溢出,又能指出结果的符号。
双符号位法也称为“变形补码”或“模4补码” 。 定点小数变形补码定义:
x
[x]补=
4+x
0 x<1 -1 x<0
(mod 4)
字长n+2定点整数,变形补码定义:
[x]补=
x 2n+2+ x
n
0 x<2
(mod 2 n+2
)
-2 nx<0
采用变形补码后数的表示: • 任何小于1的正数: 两个符号位都是“0”,即 00.x1x2...xn; • 任何大于-1的负数:两个符号位都是“1”,即 11.x1x2…xn
2.补码加法运算
补码加法的公式:
[ x ]补+[ y ]补=[ x+y ]补
计算机组成原理第3章 运算器和运算方法
第三章运算方法和运算器3.1补码的移位运算1、左移运算:各位依次左移,末位补0对于算术左移,若没有改变符号位,左移相当于乘以2。
2、右移运算:算术右移:符号位不变,各位(包括符号位)依次右移。
(相当于除以2)逻辑右移:最高位补0,其余各位依次右移例1:已知X=0.1011 ,Y=-0.0101 求 [0.5X]补;[0.25X]补;[-X]补;2[-X]补;[0.5Y]补;[0.25Y]补; [-Y]补;2[-Y]补[X]补=0.1011 [Y]补=1.1011[0.5X]补=0.01011 [0.5Y]补=1.11011[0.25X]补=0.001011 [0.25Y]补=1.111011[-X]补=1.0101 [-Y]补=0.01012[-X]补=0.1010 (溢出) 2[-Y]补=0.10103.2定点加减法运算及其实现3.2.1 补码加减法运算方法由于计算机中的进行定点数的加减运算大都是采用补码。
(1)公式:[X+Y]补=[X]补+[Y]补[X-Y]补=[X]补+[-Y]补(证明过程见教材P38)例1 X=0.001010 Y=-0.100011 求[X-Y]补,[X+Y]补解:[X]补=0.001010 [-Y]补=0.100011则 [X-Y]补=[X]补+[-Y]补=0.001010 + 0.100011=0.101101 [X]补=0.001010 [Y]补=1.011101则 [X+Y]补=[X]补+[Y]补=0.001010 + 1.011101=1.100111例2:已知X=+0.25,Y=-0.625,求X+Y; X-Y写出计算的过程.例3:已知X=25,Y=-9,求X+Y; X-Y写出计算的过程.例4:已知X=-25,Y=-9,求X+Y; X-Y写出计算的过程.解: (8位二进制表示)例2: X=0.0100000 Y=-0.1010000[X]补=0.0100000 [Y]补=1.0110000则 [X+Y]补=[X]补+[Y]补=0.0100000 + 1.0110000=1.1010000[X+Y]原=-0.0110000=(-0.375)D[X]补=0.0100000 ,[-Y]补=0.1010000则 [X-Y]补 = [X]补+[-Y]补 = 0.0100000+0.1010000=0.1110000[X+Y]原 = 0.1110000 =(0.875)D例3: X=+0011001 Y=-0001001[X]补=00011001,[Y]补=11110111则 [X+Y]补 = [X]补+[Y]补= 00011001 + 11110111= 00010000[X+Y]原 =+0010000=(+16)D[X]补= 00011001 ,[-Y]补= 00001001则 [X-Y]补 = [X]补+[-Y]补= 00011001 + 00001001= 00100010[X+Y]原 = +0100010 =(34)D例4: X=-0011001 Y=-0001001[X]补=11100111,[Y]补=11110111则 [X+Y]补 = [X]补+[Y]补= 11100111 + 11110111[X+Y]原 =-00100010=(-34)D[X]补= 11100111 ,[-Y]补= 00001001则 [X-Y]补 = [X]补+[-Y]补= 11100111 + 00001001= 11110000[X+Y]原 = -0010000 =(-16)D3.2.2 定点加减法运算中的溢出问题溢出:运算结果大于机器所能表示的最大正数或者小于机器所能表示的最小负数.溢出只是针对带符号数的运算.比如:[X]补=0.1010,[Y]补=0.1001,那么[X]补+[Y]补=1.0011(溢出)溢出是一种错误,计算机中运算时必须能够发现这个现象,并加以处理判断溢出的方法:1、采用变形补码法[X+Y] 变补=[X] 变补+[Y] 变补[X-Y] 变补=[X] 变补+[-Y] 变补例1 X=0.1011 Y=0.0011 求[X+Y]补解: [X]变补 = 00.1011, [Y]变补 = 00.0011[X+Y]变补 = 00.1011 + 00.0011 = 00.1110所以 [X+Y]补 = 0.1110例2 X=0.1011 Y=0.1001 求[X+Y]补解: [X]变补 = 00.1011 [Y]变补 = 00.1001[X+Y]变补 = 00.1011 + 00.1001 = 01.0100运算结果的两符号位是01,不相同,发生溢出,因第一符号位是0,代表正数,所以称这种溢出为“正溢出”。
