除法补码加减交替法.ppt
补码除法规则说明

补码除法(加减交替法)规则说明1. 商为正时,够减应商真值1,不够减时商真值0;商为负时,够减应商真值 -1,不够减时商真值0;2. 当[]B 补与[]A 补同号时,商Q 为正,Q 的真值与补码形式一致; 当[]B 补与[]A 补异号时,商Q 为负,Q 的真值与补码的关系除最后一位(恒为1)外,其余各位补码实际上是对应真值的反码。
3. 关于溢出,无论如何,第一为商只能是0。
假定第一位商的真值为q n -1',则余数[][][][]补补补-A q B A q B R n n '1'122--=⨯-=,若q n -1'取1(或-1)时,余数仍为真余数,则溢出。
也即:当Q 为正时,R=2[]B 补-1[]A 补=2[]B 补-[]A 补与B 同号溢出;当Q 为负时,R=2[]B 补-(-1)[]A 补=2[]B 补+[]A 补与B 同号溢出4. 当Q 为正时:* 若R 与[]A 补同号,表明R 是真余数,应商真值1,补码形式也是1;根据加减交替法,下一步为2R-[]1⨯A 补→R ,即R A R →-补][2。
* 若R 与[]A 补异号,表明R 是假余数,应商真值0,补码形式也是0;下一步为2R+[]1⨯A 补→R ,即R A R →+补][2。
5. 当Q 为负时:* 若R 与[]A 补同号,表明R 是假余数,应商真值-0,反码形式是1;根据加减交替法,下一步为 R A R →⨯-+补]1[2,即R A R →-补][2* 若R 与[]A 补异号,表明R 是真余数,应商真值-1,反码形式是0;下一步为R A R →⨯--补]1[2,即R A R →+补][26. 关于最后一位恒置1:由算法可知,最后一次减尝试可能出现够减和不够减两种情况,但不管够减和不够减,减操作已经完成,算法中并不管最后余数的恢复,所以,最后一位商的真值应为1(或-1),余数有可能是假余数。
分两种情况:* 若Q 为正,最后一位为1,与恒置1同。
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]补, 上式即得证。 证明:
补码加减交替法计算x÷y

补码加减交替法计算x÷y
补码加减交替法计算x÷y是目前广泛应用的一种数据运算方法,它的应用可以极大地提高计算机的数据处理能力,拓展出更多的可能性。
首先,补码加减交替法计算x÷y,需要将除数y映射到一个负数上,以实现有效的数据运算。
在计算机的运用中,y的负补码在内存中占据四个字节空间,将发生的状态记录得以保存。
在运算过程中,由于要求对负数y执行减法操作,故要与X对应,按照比特地址来指定。
其后,由于X和y的补码求和具有系统性,因此可以按照一定的步骤循环进行计算。
首先确定除数的补码的原码,在上述条件内,由此可求得Y及其补码,建立模型,两个补码加减取得结果。
最后通过取余、查表及逐比特运算等方法,获得结果值,完成补码加减法计算X÷Y的过程。
补码加减交替法计算x÷y具有视觉上更直观、操控性更强、效率更高等一系列优点,在解决我国民生、经济发展中的实际应用中也有重要的作用,充分发挥了它的强大优势与作用。
同时,它也将大大提高计算机的处理速度、运行效率,满足人们的不断增长的需求。
总之,补码加减交替法计算x÷y的应用不仅在计算机语言技术中具有重要的意义,在实际的政务与民生领域中,也拥有重要的作用。
因此,未来补码加减交替法计算x÷y将会有更广阔的发展空间,为实现经济发展,提高民生发挥着重大作用。
补码加减法运算

[-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.原码加/减法运算
加法规则: 先判符号位,若相同,绝对值相加,结果符号不变; 若不同,则作减
法, |大| - |小|,结果符号与|大|相同。 减法规则:
2补码加减法运算

[x]补=00.1100 [x]补 + [y]补
[y]补=11.1000 1 1. 0 1 0 0 1 1. 1 0 0 0 1 0. 1 1 0 0 符号位出现“10”,表示已溢出,负溢出。即结果小于-1
0. 1 0 0 1 1. 0 1 0 0
[x]补
1. 0 0 1 1
+
[y]补
[x+y]补
1. 0 1 0 1
0. 1 0 0 0
(1)单符号位检测方法1 设两数符号位分别为 S1、S2 和数符号位 SC 溢出逻辑表达式为:
x 0 y 0
FA
z 0
V =S 1 S 2 S c + S 1 S 2 S c
0 .1 0 1 0 1 + 0 .1 1 0 0 0
1 .0 0 1 0 1 + 1 .1 1 0 0 0 1 0 .1 1 1 0 1
Cf = 1,Cn = 0
10
1 .0 1 1 0 1
Cf = 0,Cn = 1
计算机组成原理
从上面例中看到: 当最高有效位有进位而符号位无进位时,产生上溢; 当最高有效位无进位而符号位有进位时,产生下溢。 (简单地说是正数相加为负数或负数相加为正数则产生溢出) 故溢出逻辑表达式为:
Si 0 1 1 0 1 0 0 1
输出 Ci+1 0 0 0 1 0 1 1 1
Si Ci+1 FA Ci
Ai
Bi
一位全加器
17
逻辑方程
Si Ai Bi Ci
Ci 1 Ai Bi ( Ai Bi )Ci
补码运算加减乘除原理

首先我们来看为什么要使用补码运算法:因为人脑可以知道第一位是符号位, 在计算的时候我们会根据符号位, 选择对真值区域的加减. (真值的概念在本文最开头). 但是对于计算机, 加减乘数已经是最基础的运算, 要设计的尽量简单. 计算机辨别"符号位"显然会让计算机的基础电路设计变得十分复杂! 于是人们想出了将符号位也参与运算的方法. 我们知道, 根据运算法则减去一个正数等于加上一个负数, 即: 1-1 = 1 + (-1) = 0 , 所以机器可以只有加法而没有减法, 这样计算机运算的设计就更简单了.于是人们开始探索将符号位参与运算, 并且只保留加法的方法. 首先来看原码:计算十进制的表达式: 1-1=01 - 1 = 1 + (-1) = [00000001]原 + [10000001]原 = [10000010]原 = -2如果用原码表示, 让符号位也参与计算, 显然对于减法来说, 结果是不正确的.这也就是为何计算机内部不使用原码表示一个数.为了解决原码做减法的问题, 出现了反码:计算十进制的表达式: 1-1=01 - 1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原= [0000 0001]反 + [1111 1110]反= [1111 1111]反 = [1000 0000]原 = -0发现用反码计算减法, 结果的真值部分是正确的. 而唯一的问题其实就出现在"0"这个特殊的数值上.虽然人们理解上+0和-0是一样的, 但是0带符号是没有任何意义的. 而且会有[0000 0000]原和[1000 0000]原两个编码表示0.于是补码的出现, 解决了0的符号以及两个编码的问题:1-1 = 1 + (-1) = [0000 0001]原 + [1000 0001]原 = [0000 0001]补 + [1111 1111]补= [0000 0000]补=[0000 0000]原这样0用[0000 0000]表示, 而以前出现问题的-0则不存在了.而且可以用[1000 0000]表示-128:接下来我们来看补码运算原理:在计算机里,如果我们要计算5-3的值,我们既可以用5减去3,也可以用5加上13。
计算机组成原理补码加减法运算37省公开课一等奖全国示范课微课金奖PPT课件

下溢
上溢
机器定点小数表示
发生溢出原因,是因为运算结果超出编码所能表示数字大小。 两个正数相加: 结果大于机器所能表示最大正数,称为上溢; 两个负数相加:结果小于机器所能表示最小负数,称为下溢。
计算机组成原理
7
第7页
例:x=+0.1011, y=+0.1001, 求x+y。
解:
[x]补=0.1011 [x]补
与非
NAND
T
或非
NOR
T
非
NOT
T
与
AND
2T
或
OR
2T
异或
XOT
3T
异或非
XNOR
3T
接线逻辑 (与或非)
AOI
T+TRC
计算机组成原理
T被定义为对应 于单级逻辑电路 单位门延迟。
T通常采取一个 “与非”门或一 个“或非”门时 间延迟来作为度 量单位。
20
第20页
(1)对一位全加器(FA)来说,Si时间延迟为6T(每级异或门延迟3T); Ci+1时间延迟为5T。
(1)单符号位检测方法1
设两数符号位分别为 S1、S2 和数符号位 SC
溢出逻辑表示式为:
V=S1 S2 Sc + S1 S2 Sc
计算机组成原理
[x]补 1. 0 0 1 1 + [y]补 1. 0 1 0 1
[x+y]补 0. 1 0 0 0
x0
FA
z0
y0
判断
V
电路
判断电路
9
第9页
(2)单符号位检测方法2
P1
& =1
补码加减法运算(计算机组成原理)课件

补码加减法运算在计算机中的局限性
符号位处理
在补码加减法中,符号位需要单独处理,增加了计算的复杂性。
对负数运算的支持有限
虽然补码表示法可以处理负数,但对于某些复杂的负数运算(如乘 除法),可能需要额外的处理方法。
缺乏直观性
补码表示法和人类常用的十进制表示法不同,导致初学者难以理解 。
04
补码加减法运算的 实例分析
对于计算机专业的学生和研究者来说 ,掌握补码加减法是学习计算机组成 原理和深入了解计算机体系结构的基 础。在此基础上,可以进一步探索其 他数值表示和运算方法。
在实际应用中,如何优化补码加减法 的运算速度和精度,以及如何将其更 好地应用于各种不同领域,是值得进 一步研究的问题。同时,随着量子计 算等新型计算技术的发展,数值运算 的方法和原理也可能会发生变化,需 要保持关注和学习。
溢出及其处理
溢出的概念
在进行补码加减法运算时,如果结果超出了数据类型的表 示范围,就会产生溢出。溢出会导致计算结果的错误。
溢出的判断
判断是否溢出可以通过检查运算结果的符号位和最高位(进位) 来实现。如果符号位和最高位(进位)不同,则说明产生了溢出
。
溢出的处理
处理溢出的方法有多种,包括检测溢出后进行相应的处理、采用 有符号数乘除法等方法。在实际应用中应根据具体情况选择合适
补码加法运算的实例
假设有两个补码表示的二进制数X和Y,其中X=+1010,Y=-0101,则X+Y=+1010+(0101)=+0101,因为结果的符号位为0,所以结果为正数,即X+Y=+5。
补码的减法运算
补码减法运算的规 则
在进行补码减法运算时,首先 将减数取反加1得到相应的正 数,然后将这个正数与被减数 相加,最后根据结果的符号位 确定结果的符号,正数符号位 为0,负数符号位为1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 运算规则
– 符号位参加运算,除数和被除数均用双符号位补码表示; – 第一步的运算
• 被除数与除数同号,被除数减去除数; • 被除数与除数异号,被除数加上除数;
例
题
– 后续步骤的运算
• 余数与除数同号,商上1,余数左移一位减去除数; • 余数与除数异号,商上1001 10011
1
1
+[y]补
异号上“0”
1
+[y]补
同号上“1” 1 末位恒置“1”
x ∴ [ y ]补= 1.0011 x 则 y = – 0.1101
2
– 重复步骤③ ,包括符号位在内,共做n+1步。
• 如果对商的精度没有特殊要求,一般可采用“末位恒置 1”法,此法操作简单,易于实现,且最大误差仅为2-n 。
2019年4月17日星期三 1
x ]补 例8.设 x = – 0.1011,y = 0.1101,求 [ y并还原真值。
被除数(余数) 商 说 明
1.0101 0.1101 0.0010 0.0100 1.0011 1.0111 0.1110 0.1101 1.1011 1.0110 0.1101 0.0011 0.0110
2019年4月17日星期三
0.0000 1
异号做加法 同号上“1”
+[–y]补 异号上“0”
[x]补 = 1.0101 [y]补 = 0.1101 [–y]补 = 1.0011