补码加减运算答案

合集下载

2补码加减法运算详解

2补码加减法运算详解
[y]补=1.1011
[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]补, 上式即得证。 证明:

补码加减运算答案

补码加减运算答案

3.1 已知[x]补和[y]补的值,用补.码加减法计算x+y和x-y(写出结果的二进制表示和十进制表示),并指出结果是否溢出以及溢出的类型(建议采用变形补码计算)。

(1) [x]补=0.11011 , [y]补=0.00011(2) [x]补=0.10111 [y]补=1.00101(3) [x]补=1.01010 [y]补=1.10001(4) [x]补=1.10011 [y]补=0.11001解:(1) [x]补=0.11011 , [y]补=0.00011[-y]补=1.11101[X+Y]补=[x]补+[y]补= 00.11011+ 00.00011__________________00.11110X+Y= +15/16 =+0.1111B[X-Y]补=[x]补+[-y]补=00.11011+11.11101__________________00.11000X-Y= +12/16 =+3/4=+0.11B检验【X= + 27/ 32Y= +3/32X+Y = +(27+3)/32 =+30/32=0.11110BX-Y = (27-3)/32=+24/32=+3/4=0.11B 】(2) [x]补=0.10111 , [y]补=1.00101[Y]原=1.11011[-y]补=0.11011[X+Y]补=[x]补+[y]补= 00.10111+ 11.00101__________________11.11100X+Y=-0.001B=-1/8[X-Y]补=[x]补+[-y]补= 00.10111+00.11011________________01.10010 (上溢)[X-Y]补=1.10010 (上溢)【修正:X-Y=-0.01110 = -7 / 16+2 = 25 / 16 】检验【X= +23/ 32Y=-27/32X+Y = (23-27)/32 =-4/32=-1/8X-Y = (23+27)/32=+50/32 =25/16 (上溢) 】(3) [x]补=1.01010 , [y]补=1.10001[-y]补=0.01111[X+Y]补=[x]补+[y]补= 11.01010+ 11.10001__________________10.11011X+Y=0.11011B=+27/32[ 修正27/32-2=27-64=-37/32 ][X-Y]补=[x]补+[-y]补= 11.01010+ 00.01111________________11.11001X-Y=-0.00111B=-7/32检验【X= -22/ 32=-11/16Y=-15/32X+Y = (-15-22) /32 =-37/32 (下溢)X-Y = (-22-(-15)) / 32 =-7/32 】(4) [x]补=1.10011 , [y]补=0.11001[ X= -0.01101=-13/ 32Y= +0.11001=25/32X+Y = (-13+25)/32 =12/32=3/8X-Y = (-13-25)/32=-38/32 = -19 / 16 (下溢) ][-y]补=1.00111[X+Y]补=[x]补+[y]补= 11.10011+ 00.11001__________________00.01100X+Y=0.01100B=3/8[X-Y]补=[x]补+[-y]补= 11.10011+ 11.00111________________10.11010 (下溢)[X-Y]补=0.11010 (下溢)【修正:X-Y = 13 / 16 – 2 = -19 / 16 】检验【X= -0.01101=-13/ 32Y= +0.11001=25/32X+Y = (-13+25)/32 =12/32=3/8X-Y = (-13-25)/32=-38/32 = -19 / 16 (下溢) 】3.2 给出x和y的二进制值,用补码加减法计算x+y和x-y(写出结果的二进制表示和十进制表示),并指出结果是否溢出以及溢出的类型(建议采用变形补码什算)、(1) x=0.10111 y=0.11011 (2) x=0.11101 y=0.10011(3) x=0.11011 y=-0.1010 (4) x=-0.11111 y=0.11011(5) x=-0.11011 y=0.1010 (6) x=-0.11010 y=-0.11001(7) x=-1011101 y=+1101101 (8) x=+1110110 y=-1001101 (9) x=+1101110 y=+1010101 (10) x=-1111111 y=-1101101 解:(1)X=0.10111 Y=0.11011[X]补=0.10111[Y]补=0.11011[-Y]补=1.00101[X+Y]补=[X]补+[Y]补= 00.10111+ 00.11011_______________________01.10010 (上溢)X+Y 上溢[X-Y]补=[X]补-[Y]补= 00.10111+ 11.00101_________________________11.11100X-Y=-0.00100=-1/8检验【X=23/32 Y=27/32X+Y=50/32[ 修正:X+Y=-0.0111 =-7 / 16 +2 =25 / 16 ]X-Y=-1/8】(2)X=0.11101 Y=0.10011[X]补=0.11101[Y]补=0.10011[-Y]补=1.01101[X+Y]补=[X]补+[Y]补= 00.11101+ 00.10011_______________________01.10000 (上溢)X+Y 上溢[X-Y]补=[X]补-[Y]补= 00.11101+ 11.01101_________________________00.01010X-Y=0.01010=5/16检验【X=29/32 Y=19/32X+Y=48/32 =3 / 2[ 修正:X+Y = -0.1 = -1 / 2+2 =1.5 ] X-Y=10/32=5 / 16】(3)X=0.11011 Y=-0.1010[X]补=0.11011[Y]补=1.01100[-Y]补=0.10100[X+Y]补=[X]补+[Y]= 00.11011+ 11.01100_______________________00.00111X+Y =7/32[X-Y]补=[X]补-[Y]补= 00.11011+ 00.10100_________________________01.01111X-Y=-0.10001=-17/32 (上溢)[ 修正-17/32+2=47/32 ]检验【X=27/32 Y=-20/32X+Y=7/32X-Y=47/32】(4)X=-0.11111 Y=0.11011[X]补=1.00001[Y]补=0.11011[-Y]补=1.00101[X+Y]补=[X]补+[Y]补= 11.00001+ 00.11011_______________________11.11100X+Y =-0.00100=-1/8[X-Y]补=[X]补-[Y]补= 11.00001+ 11.00101_________________________10.00110 (下溢)X-Y=0.00110=3/16 (下溢)[ 修正6/32-2=58/32 =29/16 ]检验【X=-31/32 Y=27/32X+Y=-4/32 =-1/8X-Y=58/32=29/16】(5)X=-0.11011 Y=0.10100[X]补=1.00101[Y]补=0.10100[-Y]补=1.01100[X+Y]补=[X]补+[Y]补= 11.00101+ 00.10100_______________________11.11011X+Y =-0.00111=-7/32[X-Y]补=[X]补-[Y]补= 11.00101+ 11.01100_________________________10.10001 (下溢)X-Y=17/32 (下溢)[ 修正17/32-2=-47/32 ]检验【X=-27/32 Y=20/32X+Y=-7/32X-Y=-47/32】(6)X=-0.11010 Y=-0.11001[X]补=1.00110[Y]补=1.00111[-Y]补=0.11001[X+Y]补=[X]补+[Y]补= 11.00110+ 11.00111_______________________10.01101X+Y =13/32 (下溢) [ 修正13/32-2=-51/32 ] [X-Y]补=[X]补-[Y]补= 11.00110+ 00.11001_________________________11.11111X-Y=-0.00001= -1/32检验【X=-26/32 Y=-25/32X+Y=-51/32X-Y=-1/32】(7) X=-1011101 Y=+1101101 [X]补=10100011[Y]补=01101101[-Y]补=1.01100[X+Y]补=[X]补+[Y]补= 110100011+ 001101101_______________________000010000X+Y =00010000=16[X-Y]补=[X]补-[Y]补= 110100011+ 110010011_________________________100110110 (下溢) X-Y=54 (下溢)[ 修正54-256=-202 ]检验【X=-93 Y=109X+Y=16X-Y=-202】(8) X=+1110110 Y=-1001101 [X]补=01110110[Y]补=10110011[-Y]补=01001101[X+Y]补=[X]补+[Y]补= 001110110+ 110110011_______________________000101001X+Y =41[X-Y]补=[X]补-[Y]补= 0011101101+ 001001101_________________________011000011 (上溢)X-Y=-61 (上溢)[ 修正-61+256=195 ]检验【X=118 Y=-77X+Y=41X-Y=195】(9)X=+1101110 Y=+1010101[X]补=01101110[Y]补=01010101[-Y]补=10101011[X+Y]补=[X]补+[Y]补= 001101110+001010101_______________________011000011 (上溢)X+Y =-0111101=-61 [ 修正-61+256=195 ] [X-Y]补=[X]补-[Y]补= 001101110+ 110101011_________________________000011001X-Y=25检验【X=110 Y=85X+Y=195X-Y=25】(10) X=-1111111 Y=-1101101[X]补=10000001[Y]补=10010011[-Y]补=01101101[X+Y]补=[X]补+[Y]补= 110000001+ 110010100_______________________100010100 (下溢)X+Y =00010100=20 [ 修正20-256=-236 ] [X-Y]补=[X]补-[Y]补= 110000001+ 001101101_________________________111101110检验【X-Y=-0010010=-18X=-127 Y=-109X+Y=-236X-Y=-18】。

计算机系统 补码加减法运算

计算机系统  补码加减法运算
+ [B] = 1 1 1 0 0 [A] + [B] = 1 0 1 0 0 1
进位
A + B= 01010
3. 反码加减法的硬件配置
A、B 均 n+1 位
1. 移码表示法
定义 [x]移 = 2n + x(2n>x ≥ 2n)
x 为真值,n 为 整数的位数
移码在数轴上的表示
0
2n 2n+1–1
+ [B]补 = 1 . 1 0 1 1
– 0.0101
[A]补 + [B]补 = 1 0 . 0 1 1 0 = [A + B]补 0.0110
∴A+B= 0.0110
例 3.19 设 A = –9,B = –5
求 [A+B]补 解: [A]补 = 1 0 1 1 1
+ [B]补 = 1 1 0 1 1
+ [-B]补 = 1 0 1 0 1
[A]移 + [-B]补 = 1 0 0 0 0
3. 移码加减法的硬件配置
A、B 均 n+1 位
3.2.2 加减法运算的溢出处理(补码运算) 当运算结果超出机器数所能表示的
范围时,称为溢出。显然,两个异号数 相加或两个同号数相减,其结果是不会 溢出的。仅当两个同号数相加或者两个 异号数相减时,才有可能发生溢出的情 况,一旦溢出,运算结果就不正确了, 因此必须将溢出的情况检查出来。 今以4位二进制补码正整数加法运算为 例说明如下:
101101
⑥-14+1= -13 10010
+00001 10011
在上例中,①、②、⑤和⑥得出正确结 果,③和④为溢出。
•今以fA,fB表示两操作数(A、B)的符号位, fS为结果的符号位。符号位fA、fB直接参 与运算,它所产生的进位以Cf表示。在 以2n+1为模的运算中符号位有进位,并不 一定表果C=Cf, 运算结果正确,其中C为数值最高位的 进位,Cf为符号位的进位。如果C≠Cf, 则为溢出,所以溢出条件=C Cf。例3.11 中的③和④即为这种情况。其逻辑电路 见图3.2。

补码加减法运算

补码加减法运算

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

补码的加减法运算

补码的加减法运算

[x-y]补= [x]补+ [-y]补 = 0.1 1 0 1+ 1.1 0 1 0= 0.0 1 1 1 所以 x-y=+0.0111 例2: x= -0.1101,y= -0.0110,求x-y=? 解: [x]补=1.0011 [y]补=1.1010 [-y]补=0.0110 [x-y]补= [x]补 + [-y]补 = 1.0 0 1 1+ 0.0110= 1.1 0 0 1 所以 x-y = 0.0111

例1:





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 y=-0.0101, 求 x+y。
[y]补=1.1011




补码加减法的运算规则
参加运算的数都用补码表示; 数据的符号与数值位一样参加运算; 求差时将减数求补,用求和代替求差;
运算结果为补码,如果符号位为0,表明运算结 果为正;符号位为1,则运算结果为负; 符号位的进位为模值,应该丢掉。




1、计算机中实现减法运算使用的方法是( C ) A.从被减数中减去减数 B.从减数中减去被减数再求反 C.转换为补码的加法运算 D.依减数的形式再选择一种适当的方法




1、 X=0.100101 , Y=0.001101 ,则 X+Y= 2、 X=0.1101 , Y=-0.0101 ,则X+Y= 3、 X=-0.10101 , Y=-0.01101 ,则 X+Y= 4、 X=0.10101 , Y=0.01010 ,则 X-Y=

(完整版)补码的加

(完整版)补码的加

一.补码的加、减运算在计算机中,通常总是用补码完成算术的加减法运算。

其规则是:[X+Y]补= [X]补+ [Y]补,[X-Y]补= [X]补- [Y]补= [X]补+ [-Y]补这表明,有了补码表示的被加(减)数和加(减)数,要完成计算补码表示的二数之和或二数之差,只需用二数的补码直接执行加减运算即可,符号位与数值位同等对待,一起参加运算,若运算结果不溢出,即不超出计算机所能表示的范围,则结果的符号位和数值位同时为正确值。

此外,还可以看到,实现减运算时,用的仍是加法器线路,把减数的负数的补码送加法器即可。

在有了一个数的补码之后,求这个数的负数的补码,是简单地把这个数的补码逐位取反再在最低位加1即可得到。

例如,[Y]补=101101,则[-Y]补=010011,这大大简化了加减运算所用的线路和加减运算的实现算法。

下面的问题是如何检查加减运算中的溢出问题。

通常有三种表述方式(说法):(1) 两个符号相同的补码数相加,如果和的符号与加数的符号相反,或两个符号相反的补码数相减,差的符号与减数的符号相同,都属于运算结果溢出。

这种判别方法比较复杂,要区别加还是减两种不同运算情况,还要检查结果的符号与其中一个操作数的符号的同异,故很少使用;(2) 两个补码数相加减时,若最高数值位向符号位送的进位值与符号位送向更高位的进位值不相同,也是运算结果溢出。

(3) 在采用双符号位(如定点小数的模4补码)运算时,若两个符号位的得值不同(01或10)则是溢出。

01表明两个正数相加,结果大于机器所能表示的最大正数,称为"上溢";10表明两个负数相加,结果小于机器所能表示的最小负数,称为"下溢";双符号位的高位符号位,不管结果溢出否,均是运算结果正确的符号位,这个结论在乘法运算过程中是很有实际意义的。

请注意,在采用双符号位的方案中,在寄存器和内存储器存储数据时,只需存一位符号,双符号位仅用在加法器线路部分。

补码加减法运算、存储器字位扩展答案

补码加减法运算、存储器字位扩展答案

1.机器数字长为8位(含1位符号位),当X= -127 (十进制)时,
其对应的二进制表示,(X)原表示,(X)反表示,(X)补表示分别是多少二进制表示为-01111111
[X]原= [X]反= [X]补= [X]移= 00000001
2.已知x=,y=,求x+y=,x-y=
[x]补= [x]补=
+[y]补= +[-y]补=
x+y=+ x-y产生溢出
3.用16k×8位的SRAM芯片构成64K×16位的存储器,要求画出该
存储器的组成逻辑框图。

存储器容量为64K×16位,其地址线为16位(A15—A0),数据线也是16位(D15—D0)
SRAM芯片容量为16K×8位,其地址线为14位,数据线为8位,因此组成存储器时须字位同时扩展。

字扩展采用2 :4译码器,以16K为一个模块,共4个模块。

位扩展采用两片串接。

(1)(5分)
(2)(5分)
ACC MQ ALU X IR MDR PC MAR 设计题用4K*8的存储器芯片构成16KB的存储器,地址线为A15~A0,请设计。

方法一:采用位扩展
1、需要几片芯片
2、 数据线有哪几位
3、 加至各芯片的地址线
4、画出该存储器逻辑结构图
MREQ*R/W*A11~A0
方法二:采用字扩展 1、需要几片芯片 2、 数据线有哪些
3、 加至芯片上的地址线有哪几位
4、 用来译码的地址有哪几位
5、 用来寻址的地址线有哪几位
6、画出该存储器的结构图
A12。

计算机组成原理第四章要求作业参考答案

计算机组成原理第四章要求作业参考答案

习题4 4.1设X=0.1101,Y= -0.0110,求:(1)[X]补(2)[-X]补(3)[2X]补(4)[-2X]补(5)[X/2]补(6)[-X/2]补(7)[Y]补(8)[-Y]补(9)[2Y]补(10)[-2Y]补(11)[Y/2]补(12)[-Y/2]补(13)[-Y/4]补1. (1) [X]补= 0.1101(2) [-X]补= 1.0011(3) [2X]补= 0.1010 溢出(4) [-2X]补= 1.0110 溢出(5)[X/2]补= 0.0110注意:参见P109中的补码算术移位规则,以及P110的例4.4(6)[-X/2]补= 1.1001(7)[Y]补= 1.1010(8) [-Y]补= 0.0110(9) [2Y]补=1.0100(10)[-2Y]补=0.1100(11)[Y/2]补=1.1101(12)[-Y/2]补= 0.0010(13) [-Y/4]补= 0.00014.2 已知X和Y,用变形补码计算X+Y和X-Y,并指出运算结果是否溢出:(1) X=0.11011,Y=0.11111(2) X=-0.1101,Y=0.0110答:.(1)[X]补=00.11011 [Y]补=00.11111 [-Y]补=11.00001[X]补 00.11011+ [Y]补 00.11111 [X+ Y]补 01.11010 [X]补 00.11011 + [-Y]补 11.00001 [X-Y]补 11.11100 S f1与S f2不同,溢出S f1与S f2相同,无溢出所以:[X+Y]补:发生溢出[X-Y]补= 1.11100注意:参见P107中的双符号位判溢方法原理。

(2) [X+Y]补=1.1001[X-Y]补:溢出4.4 使用原码一位乘法计算X*Y : (1) X=0.11101,Y=0.01111 (2) X=-0.10011,Y=0.11010答: (1)[X]原=0.11101 [Y]原=0.01111000s s s P X Y =⊕=⊕=部分积0.00000乘数|Y|操作说明Y 5=1,+|X |0.11101+0.11101右移一位0.011100.11101+1.01011右移一位0.10101Y 2=1,+|X |0.11101+1.10010右移一位0.11001Y 1=0,+00.11101+1.10110右移一位0.11011+0.110110.00000 0011 01 0111011 0111 01101111右移一位Y 4=1,+|X |Y 3=1,+|X |100110.01101[]0.01101100110.0110110011P X Y ∴=∴⨯=+原4.5 使用补码Booth 乘法计算X*Y : (1) X=0.01111,Y=-0.11101 (2) X=-0.10011,Y=-0.11010答:(1)[X ]补=00.01111 [Y ]补=11.00011 [-X ]补=11.10001部分积00.00000乘数Y(Y n Y n+1)操作说明11.10001+11.1000111.1100000.00000+11.1100011.1110000.01111+00.01011右移一位00.0010100.00000+00.00101右移一位00.0001000.00000+00.0001000.0000111.1000111.10010+1.0001101 1.000110 1 1.00011 0 1 1.0001101 1.00Y 5Y 6=10,+[-X ]补右移一位Y 4Y 5=11,+0右移一位Y 0Y 1=10,+[-X ]补Y 1Y 2=00,+001101 1.001101右移一位Y 3Y 4=01,+[X ]补Y 2Y 3=00,+0所以:[X*Y ]补=1.1001001101X*Y =-0.01101100114.6 分别使用原码恢复余数除法和原码加减交替除法计算X/Y : (1) X=0.0111,Y=0.1101 (2) X=0.1011,Y=-0.1110 答:(1)原码恢复余数除法注意:参见P124中例4.9。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

3.1 已知[x]补和[y]补的值,用补.码加减法计算x+y和x-y(写出结果的二进制表示和十进制表示),并指出结果是否溢出以及溢出的类型(建议采用变形补码计算)。

(1) [x]补=0.11011 , [y]补=0.00011(2) [x]补=0.10111 [y]补=1.00101(3) [x]补=1.01010 [y]补=1.10001(4) [x]补=1.10011 [y]补=0.11001解:(1) [x]补=0.11011 , [y]补=0.00011[-y]补=1.11101[X+Y]补=[x]补+[y]补= 00.11011+ 00.00011__________________00.11110X+Y= +15/16 =+0.1111B[X-Y]补=[x]补+[-y]补=00.11011+11.11101__________________00.11000X-Y= +12/16 =+3/4=+0.11B检验【X= + 27/ 32Y= +3/32X+Y = +(27+3)/32 =+30/32=0.11110BX-Y = (27-3)/32=+24/32=+3/4=0.11B 】(2) [x]补=0.10111 , [y]补=1.00101[Y]原=1.11011[-y]补=0.11011[X+Y]补=[x]补+[y]补= 00.10111+ 11.00101__________________11.11100X+Y=-0.001B=-1/8[X-Y]补=[x]补+[-y]补= 00.10111+00.11011________________01.10010 (上溢)[X-Y]补=1.10010 (上溢)【修正:X-Y=-0.01110 = -7 / 16+2 = 25 / 16 】检验【X= +23/ 32Y=-27/32X+Y = (23-27)/32 =-4/32=-1/8X-Y = (23+27)/32=+50/32 =25/16 (上溢) 】(3) [x]补=1.01010 , [y]补=1.10001[-y]补=0.01111[X+Y]补=[x]补+[y]补= 11.01010+ 11.10001__________________10.11011X+Y=0.11011B=+27/32[ 修正27/32-2=27-64=-37/32 ][X-Y]补=[x]补+[-y]补= 11.01010+ 00.01111________________11.11001X-Y=-0.00111B=-7/32检验【X= -22/ 32=-11/16Y=-15/32X+Y = (-15-22) /32 =-37/32 (下溢)X-Y = (-22-(-15)) / 32 =-7/32 】(4) [x]补=1.10011 , [y]补=0.11001[ X= -0.01101=-13/ 32Y= +0.11001=25/32X+Y = (-13+25)/32 =12/32=3/8X-Y = (-13-25)/32=-38/32 = -19 / 16 (下溢) ][-y]补=1.00111[X+Y]补=[x]补+[y]补= 11.10011+ 00.11001__________________00.01100X+Y=0.01100B=3/8[X-Y]补=[x]补+[-y]补= 11.10011+ 11.00111________________10.11010 (下溢)[X-Y]补=0.11010 (下溢)【修正:X-Y = 13 / 16 – 2 = -19 / 16 】检验【X= -0.01101=-13/ 32Y= +0.11001=25/32X+Y = (-13+25)/32 =12/32=3/8X-Y = (-13-25)/32=-38/32 = -19 / 16 (下溢) 】3.2 给出x和y的二进制值,用补码加减法计算x+y和x-y(写出结果的二进制表示和十进制表示),并指出结果是否溢出以及溢出的类型(建议采用变形补码什算)、(1) x=0.10111 y=0.11011 (2) x=0.11101 y=0.10011(3) x=0.11011 y=-0.1010 (4) x=-0.11111 y=0.11011(5) x=-0.11011 y=0.1010 (6) x=-0.11010 y=-0.11001(7) x=-1011101 y=+1101101 (8) x=+1110110 y=-1001101 (9) x=+1101110 y=+1010101 (10) x=-1111111 y=-1101101 解:(1)X=0.10111 Y=0.11011[X]补=0.10111[Y]补=0.11011[-Y]补=1.00101[X+Y]补=[X]补+[Y]补= 00.10111+ 00.11011_______________________01.10010 (上溢)X+Y 上溢[X-Y]补=[X]补-[Y]补= 00.10111+ 11.00101_________________________11.11100X-Y=-0.00100=-1/8检验【X=23/32 Y=27/32X+Y=50/32[ 修正:X+Y=-0.0111 =-7 / 16 +2 =25 / 16 ]X-Y=-1/8】(2)X=0.11101 Y=0.10011[X]补=0.11101[Y]补=0.10011[-Y]补=1.01101[X+Y]补=[X]补+[Y]补= 00.11101+ 00.10011_______________________01.10000 (上溢)X+Y 上溢[X-Y]补=[X]补-[Y]补= 00.11101+ 11.01101_________________________00.01010X-Y=0.01010=5/16检验【X=29/32 Y=19/32X+Y=48/32 =3 / 2[ 修正:X+Y = -0.1 = -1 / 2+2 =1.5 ] X-Y=10/32=5 / 16】(3)X=0.11011 Y=-0.1010[X]补=0.11011[Y]补=1.01100[-Y]补=0.10100[X+Y]补=[X]补+[Y]= 00.11011+ 11.01100_______________________00.00111X+Y =7/32[X-Y]补=[X]补-[Y]补= 00.11011+ 00.10100_________________________01.01111X-Y=-0.10001=-17/32 (上溢)[ 修正-17/32+2=47/32 ]检验【X=27/32 Y=-20/32X+Y=7/32X-Y=47/32】(4)X=-0.11111 Y=0.11011[X]补=1.00001[Y]补=0.11011[-Y]补=1.00101[X+Y]补=[X]补+[Y]补= 11.00001+ 00.11011_______________________11.11100X+Y =-0.00100=-1/8[X-Y]补=[X]补-[Y]补= 11.00001+ 11.00101_________________________10.00110 (下溢)X-Y=0.00110=3/16 (下溢)[ 修正6/32-2=58/32 =29/16 ]检验【X=-31/32 Y=27/32X+Y=-4/32 =-1/8X-Y=58/32=29/16】(5)X=-0.11011 Y=0.10100[X]补=1.00101[Y]补=0.10100[-Y]补=1.01100[X+Y]补=[X]补+[Y]补= 11.00101+ 00.10100_______________________11.11011X+Y =-0.00111=-7/32[X-Y]补=[X]补-[Y]补= 11.00101+ 11.01100_________________________10.10001 (下溢)X-Y=17/32 (下溢)[ 修正17/32-2=-47/32 ]检验【X=-27/32 Y=20/32X+Y=-7/32X-Y=-47/32】(6)X=-0.11010 Y=-0.11001[X]补=1.00110[Y]补=1.00111[-Y]补=0.11001[X+Y]补=[X]补+[Y]补= 11.00110+ 11.00111_______________________10.01101X+Y =13/32 (下溢) [ 修正13/32-2=-51/32 ] [X-Y]补=[X]补-[Y]补= 11.00110+ 00.11001_________________________11.11111X-Y=-0.00001= -1/32检验【X=-26/32 Y=-25/32X+Y=-51/32X-Y=-1/32】(7) X=-1011101 Y=+1101101 [X]补=10100011[Y]补=01101101[-Y]补=1.01100[X+Y]补=[X]补+[Y]补= 110100011+ 001101101_______________________000010000X+Y =00010000=16[X-Y]补=[X]补-[Y]补= 110100011+ 110010011_________________________100110110 (下溢) X-Y=54 (下溢)[ 修正54-256=-202 ]检验【X=-93 Y=109X+Y=16X-Y=-202】(8) X=+1110110 Y=-1001101 [X]补=01110110[Y]补=10110011[-Y]补=01001101[X+Y]补=[X]补+[Y]补= 001110110+ 110110011_______________________000101001X+Y =41[X-Y]补=[X]补-[Y]补= 0011101101+ 001001101_________________________011000011 (上溢)X-Y=-61 (上溢)[ 修正-61+256=195 ]检验【X=118 Y=-77X+Y=41X-Y=195】(9)X=+1101110 Y=+1010101[X]补=01101110[Y]补=01010101[-Y]补=10101011[X+Y]补=[X]补+[Y]补= 001101110+001010101_______________________011000011 (上溢)X+Y =-0111101=-61 [ 修正-61+256=195 ] [X-Y]补=[X]补-[Y]补= 001101110+ 110101011_________________________000011001X-Y=25检验【X=110 Y=85X+Y=195X-Y=25】(10) X=-1111111 Y=-1101101[X]补=10000001[Y]补=10010011[-Y]补=01101101[X+Y]补=[X]补+[Y]补= 110000001+ 110010100_______________________100010100 (下溢)X+Y =00010100=20 [ 修正20-256=-236 ] [X-Y]补=[X]补-[Y]补= 110000001+ 001101101_________________________111101110检验【X-Y=-0010010=-18X=-127 Y=-109X+Y=-236X-Y=-18】。

相关文档
最新文档