计算机组成原理.docx
《计算机组成原理.docx》由会员分享,可在线阅读,更多相关《计算机组成原理.docx(14页珍藏版)》请在冰豆网上搜索。
![计算机组成原理.docx](https://file1.bdocx.com/fileroot1/2023-2/2/ab459acc-1072-44b1-a4bb-fcfbe8da5fc5/ab459acc-1072-44b1-a4bb-fcfbe8da5fc51.gif)
计算机组成原理
第三章
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.11110
X+Y=+15/16=+0.1111B
[X-Y]补=[x]补+[-y]补
=00.11011
+11.11101
__________________
00.11000
X-Y=+12/16=+3/4=+0.11B
检验
【X=+27/32
Y=+3/32
X+Y=+(27+3)/32=+30/32=0.11110B
X-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.11100
X+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/32
Y=-27/32
X+Y=(23-27)/32=-4/32=-1/8
X-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.11011
X+Y=0.11011B=+27/32
[修正27/32-2=27-64=-37/32]
[X-Y]补=[x]补+[-y]补
=11.01010
+00.01111
________________
11.11001
X-Y=-0.00111B=-7/32
检验
【X=-22/32=-11/16
Y=-15/32
X+Y=(-15-22)/32=-37/32(下溢)
X-Y=(-22-(-15))/32=-7/32】
(4)[x]补=1.10011,[y]补=0.11001
[X=-0.01101=-13/32
Y=+0.11001=25/32
X+Y=(-13+25)/32=12/32=3/8
X-Y=(-13-25)/32=-38/32=-19/16(下溢)]
[-y]补=1.00111
[X+Y]补=[x]补+[y]补
=11.10011
+00.11001
__________________
00.01100
X+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/32
Y=+0.11001=25/32
X+Y=(-13+25)/32=12/32=3/8
X-Y=(-13-25)/32=-38/32=-19/16(下溢)】
3.2给出x和y的二进制值,用补码加减法计算x+y和x-y(写出结果的二进制表示和十进制表示),并指出结果是否溢出以及溢出的类型(建议采用变形补码什算)、
(1)x=0.10111y=0.11011
(2)x=0.11101y=0.10011
(3)x=0.11011y=-0.1010(4)x=-0.11111y=0.11011
(5)x=-0.11011y=0.1010(6)x=-0.11010y=-0.11001
(7)x=-1011101y=+1101101(8)x=+1110110y=-1001101
(9)x=+1101110y=+1010101(10)x=-1111111y=-1101101
解:
(1)X=0.10111Y=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.11100
X-Y=-0.00100
=-1/8
检验
【X=23/32Y=27/32
X+Y=50/32
[修正:
X+Y=-0.0111=-7/16+2=25/16]
X-Y=-1/8】
(2)X=0.11101Y=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.01010
X-Y=0.01010
=5/16
检验
【X=29/32Y=19/32
X+Y=48/32=3/2
[修正:
X+Y=-0.1=-1/2+2=1.5]
X-Y=10/32=5/16】
(3)X=0.11011Y=-0.1010
[X]补=0.11011
[Y]补=1.01100
[-Y]补=0.10100
[X+Y]补=[X]补+[Y]
=00.11011
+11.01100
_______________________
00.00111
X+Y=7/32
[X-Y]补=[X]补-[Y]补
=00.11011
+00.10100
_________________________
01.01111
X-Y=-0.10001=-17/32(上溢)
[修正-17/32+2=47/32]
检验
【X=27/32Y=-20/32
X+Y=7/32
X-Y=47/32】
(4)X=-0.11111Y=0.11011
[X]补=1.00001
[Y]补=0.11011
[-Y]补=1.00101
[X+Y]补=[X]补+[Y]补
=11.00001
+00.11011
_______________________
11.11100
X+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/32Y=27/32
X+Y=-4/32=-1/8
X-Y=58/32=29/16】
(5)X=-0.11011Y=0.10100
[X]补=1.00101
[Y]补=0.10100
[-Y]补=1.01100
[X+Y]补=[X]补+[Y]补
=11.00101
+00.10100
_______________________
11.11011
X+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/32Y=20/32
X+Y=-7/32
X-Y=-47/32】
(6)X=-0.11010Y=-0.11001
[X]补=1.00110
[Y]补=1.00111
[-Y]补=0.11001
[X+Y]补=[X]补+[Y]补
=11.00110
+11.00111
_______________________
10.01101
X+Y=13/32(下溢)[修正13/32-2=-51/32]
[X-Y]补=[X]补-[Y]补
=11.00110
+00.11001
_________________________
11.11111
X-Y=-0.00001
=-1/32
检验
【X=-26/32Y=-25/32
X+Y=-51/32
X-Y=-1/32】
(7)X=-1011101Y=+1101101
[X]补=10100011
[Y]补=01101101
[-Y]补=1.01100
[X+Y]补=[X]补+[Y]补
=110100011
+001101101
_______________________
000010000
X+Y=00010000=16
[X-Y]补=[X]补-[Y]补
=110100011
+110010011
_________________________
100110110(下溢)
X-Y=54(下溢)
[修正54-256=-202]
检验
【X=-93Y=109
X+Y=16
X-Y=-202】
(8)X=+1110110Y=-1001101
[X]补=01110110
[Y]补=10110011
[-Y]补=01001101
[X+Y]补=[X]补+[Y]补
=001110110
+110110011
_______________________
000101001
X+Y=41
[X-Y]补=[X]补-[Y]补
=0011101101
+001001101
_________________________
011000011(上溢)
X-Y=-61(上溢)
[修正-61+256=195]
检验
【X=118Y=-77
X+Y=41
X-Y=195】
(9)X=+1101110Y=+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
_________________________
000011001
X-Y=25
检验
【X=110Y=85
X+Y=195
X-Y=25】
(10)X=-1111111Y=-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=-18
X=-127Y=-109
X+Y=-236
X-Y=-18】
3.1已知[x]补和[y]补的值,用补.码加减法计算x+y和x-y
(写出结果的二进制表示和十进制表示),并指出结果
是否溢出以及溢出的类型(建议采用变形补码计算)。
(3)[x]补=1.01010[y]补=1.10001
解:
[x]补=11.01010[y]补=11.10001
[-y]补=00.01111
[X+Y]补=[x]补+[y]补=11.01010+11.10001
=10.11011(下溢)
∴X+Y=-1.00101B=-(1+5/32)=-37/32
:
[x]补=11.01010[y]补=11.10001
[-y]补=00.01111
[X+Y]补=[x]补+[y]补=11.01010+11.10001
=10.11011(下溢)
∴X+Y=-1.00101B=-(1+5/32)=-37/32
检验:
X=-0.10110B=-22/32Y=-0.01111B=-15/32
X+Y=-(22+15)/32=-37/32(下溢)
X-Y=(-22-(-15))/32=-7/32