1、第 2 章作业参考答案1第 2 章作业参考答案1、(1) -35(=23)16 (2)127 (3)-127 (4)-1-35原 =10100011 127原 =01111111 -127原 =11111111 -1原=10000001-35反 =11011100 127反 =01111111 -127反 =10000000 -1反=11111110-35补 =11011101 127补 =01111111 -127补 =10000001 -1补=111111112当 a7=0 时,x0,满足 x-0.5 的条件,即:若 a7=0,a 6 a0 可取任意值当 a7=1 时,x-0.5 的条件,
2、则由补码表示与其真值的关系,可知: 7061524342516760 2)2(1 aaxii要使 x-0.5 ,所以要求 a6=1,并且 a5a0 不能全部为 0所以,要使 x-0.5,则要求 a7=0;或者 a7= a6=1,并且 a5a0 至少有一个为 13、由题目要求可知,该浮点数的格式为:31 30 23 22 0S E(移码表示) M(补码表示)注:由于 S 是数符,已表示了尾数的符号,所以为了提高表示精度,M(23 位)不必存储符号位,只需存小数点后面的有效数值位即可。(1)最大数的二进制表示为:0 11111111 1111111(23 个 1)(2)最小数的二进制表示为:1 1
3、1111111 0000000(23 个 0)(3)非 IEEE754 标准的补码表示的规格化数是指其最高有效位与符号位相反故有:最大正数为:0 11111111 1111111(23 个 1)=+(1-2-23)2127最小正数为:0 00000000 1000000(22 个 0)=+0.52-128最大负数为:1 00000000 0111111(22 个 1)=-(0.5+2-23)2-128最小负数为:1 11111111 0000000(23 个 0)=-12127所以其表示数的范围是:+0.52 -128+(1-2-23)2127 以及-12 127-(0.5+2-23)2-12
4、84、IEEE754 标准 32 位浮点的规格化数为X=(-1)S1.M2E-127(1)27/6427/64=272-6=(11011)22-6=(1.1011)22-2所以 S=0,E=e+127=125=(01111101) 2,M=101132 位的规格化浮点数为:第 2 章作业参考答案200111110 11011000 00000000 00000000,即十六进制的(3ED80000) 16(2)-27/64-27/64=-(1.1011)22-2所以 S=1,E=e+127=125=(01111101) 2,M=101132 位的规格化浮点数为:10111110 1101100
5、0 00000000 00000000,即十六进制的(BED80000) 165、x+y 补 =x补 +y补(1)x=11011, y=00011x+y补 =0011011+0000011=0011110;没有溢出,x+y=11110(2)x=11011, y=-10101x+y补 =0011011+1101011=0000110;0 0 1 1 0 1 1+ 1 1 0 1 0 1 10 0 0 0 1 1 0没有溢出,x+y=00110(3)x=-10110,y=-00001x+y补 =1101010+1111111=1101001;没有溢出,x+y=-101116、x-y 补 =x补 +
6、-y补(1)x=11011, y=-11111-y补 =0011111x-y补 =0011011+0011111=0111010;0 0 1 1 0 1 1+ 0 0 1 1 1 1 10 1 1 1 0 1 0正溢出,x-y=+111010(2)x=10111, y=11011-y补 =1100101x-y补 =0010111+1100101=1111100;0 0 1 0 1 1 1+ 1 1 0 0 1 0 11 1 1 1 1 0 0没有溢出,x-y=-00100(3)x=11011, y=-10011-y补 =0010011x-y补 =0011011+0010011=0101110;
7、正溢出,x-y=+1011107、(1)x=11011, y=-11111用原码阵列乘法器1 1 0 1 1 1 1 1 1 1第 2 章作业参考答案31 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 1 1 1 0 1 0 0 0 1 0 1xy符号 =01=1所以 xy原 =1 1101000101用直接补码阵列乘法器:x 补 =011011,y 补 =100001(0) 1 1 0 1 1 (1) 0 0 0 0 1(0) 1 1 0 1 1(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 0(0) 0 0 0 0 00 (
8、1) (1) (0) (1) (1) 0 (1) (1) 0 (1) (1) 1 1 0 1 1将乘积中的符号位用负权表示,其他的负权位化为正权,得:xy 补 =1 0010111011(2) x=-11111,y=-11011用原码阵列乘法器1 1 1 1 1 1 1 0 1 11 1 1 1 11 1 1 1 10 0 0 0 01 1 1 1 11 1 1 1 1 1 1 0 1 0 0 0 1 0 1xy符号 =11=0所以 xy原 =0 1101000101用直接补码阵列乘法器:x 补 =100001,y 补 =100101(1) 0 0 0 0 1 (1) 0 0 1 0 1(1)
9、 0 0 0 0 1(0) 0 0 0 0 0(1) 0 0 0 0 1(0) 0 0 0 0 0(0) 0 0 0 0 01 (0) (0) (0) (0) (1) 1 0 0 (1) (1) 0 0 0 1 0 1将乘积中的符号位用负权表示,其他的负权位化为正权,得:xy 补 =0 第 2 章作业参考答案411010001018、(1) x=11000, y=-11111用原码阵列除法器计算,符号位单独处理,商的符号位=0 1=1设 a=(|x|2-5),b=(|y|2 -5),则 a,b 均为正的纯小数,且 xy 的数值=(ab);余数等于(ab)的余数乘以 25下面用不恢复余数法的原码
10、阵列除法器计算 aba补 =|x|2-5补 =0.11000,b 补 =|y|2-5补 =0.11111,-b 补 =1.00001过程如下:0. 1 1 0 0 0 +-b补 1. 0 0 0 0 1 1. 1 1 0 0 1 余数为负,商为 01. 1 0 0 1 0 余数和商左移一位(0)+b补 0. 1 1 1 1 1 0. 1 0 0 0 1 余数为正,商为 11. 0 0 0 1 0 余数和商左移一位(01)+-b补 1. 0 0 0 0 1 0. 0 0 0 1 1 商为 10. 0 0 1 1 0 (011)+-b补 1. 0 0 0 0 1 1. 0 0 1 1 1 商为 0
11、0. 0 1 1 1 0 (0110)+b补 0. 1 1 1 1 1 1. 0 1 1 0 1 商为 00. 1 1 0 1 0 (01100)+b补 0. 1 1 1 1 1 1. 1 1 0 0 1 商为 0(011000)即:ab 的商为 0.11000;余数为 1.110012-5,因为 1.11001 为负数,加 b 处理为正数,1.11001+b=1.11001+0.11111=0.11000,所以 ab 的余数为 0.110002-5所以,(xy)的商=-0.11000 ,原码为:1.11000;余数为 0.11000(2) x=-01011,y=11001商的符号位=10=1
12、设 a=|x|2-5, b=|y|2-5,则 a,b 均为正的纯小数,且 xy 的数值=ab;余数等于(ab)的余数乘以 25 下面用不恢复余数法的原码阵列除法器计算 aba补 =|x|2-5补 =0.01011,b 补 =|y|2-5补 =0.11001,-b 补 =1.00111过程如下:0. 0 1 0 1 1 +-b补 1. 0 0 1 1 1 1. 1 0 0 1 0 余数为负,商为 01. 0 0 1 0 0 余数和商左移一位(0)第 2 章作业参考答案5+b补 0. 1 1 0 0 1 1. 1 1 1 0 1 余数为负,商为 01. 1 1 0 1 0 余数和商左移一位(00)
13、+b补 0. 1 1 0 0 1 0. 1 0 0 1 1 商为 11. 0 0 1 1 0 (001)+-b补 1. 0 0 1 1 1 0. 0 1 1 0 1 商为 10. 1 1 0 1 0 (0011)+-b补 1. 0 0 1 1 1 0. 0 0 0 0 1 商为 10. 0 0 0 1 0 (00111)+-b补 1. 0 0 1 1 1 1. 0 1 0 0 1 商为 0(001110)即:ab 的商为 0.01110;余数为 1.010012-5,因为 1.01001 为负数,加 b 处理为正数,1.01001+b=1.01001+0.11001=0.00010,所以 ab
14、 的余数为 0.000102-5所以,(xy)的商=-0.01110 ,原码为:1.01110;余数为 0.000109、(1)x=2-0110.100101,y=2 -010(-0.011110)EX=-011,E y=-010,所以 EX补 =1101,E y补 =1110MX=0.100101,M y=-0.011110,所以M X补 =0.100101,M y补 =1.100010x浮 =1101 0.100101,y 浮 =1110 1.100010EXEy,E y-EX = Ey+(-EX)=1110+0011=0001对阶后x 浮 =1110 0.010010(1),y 浮 =1
15、110 1.100010对阶后的尾数相加:M X+My=0.010010(1)+1.1000100. 0 1 0 0 1 0 (1) + 1. 1 0 0 0 1 0 1. 1 1 0 1 0 0 (1) x+y=1.110100(1)21110,化为规格化数( 左移 2 位)为: x+y=1.01001021100,即:x+y=-0.1011102-4对阶后的位数相减:M X-My=MX+(-My)=0.010010(1)+0.0111100. 0 1 0 0 1 0 (1) + 0. 0 1 1 1 1 0 0. 1 1 0 0 0 0 (1) x-y=0.110000(1)21110,已
16、经是规格化数,采用 0 舍 1 入法进行舍入处理:x-y=0.11000121110,即:x-y=0.1100012-2(2)x=2-101(-0.010110),y=2 -100(0.010110)EX=-101,E y=-100,所以 EX补 =1011,E y补 =1100MX=-0.010110,M y=0.010110,所以M X补 =1.101010,M y补 =0.010110x浮 =1011 1.101010,y 浮 =1100 0.010110第 2 章作业参考答案6EXEy,E y-EX = Ey+(-EX)=1100+0101=0001对阶后x 浮 =1100 1.110
17、101(0),y 浮 =1100 0.010110对阶后的尾数相加:M X+My=1.110101+0.0101101. 1 1 0 1 0 1 + 0. 0 1 0 1 1 0 0. 0 0 1 0 1 1 x+y=0.00101121100,化为规格化数(左移 2 位)为:x+y=0.1011002 1010,即:x+y=0.1011002-6对阶后的位数相减:M X-My=MX+(-My)=1.110101+1.1010101. 1 1 0 1 0 1 + 1. 1 0 1 0 1 0 1. 0 1 1 1 1 1 x-y=1.01111121100,已经是规格化数,所以x-y=-0.1
18、000012-410、(1) 1691634Mx= ,Ex=00110.204My= ,Ey=0100169Ex+Ey=0011+0100=0111xy符 =01=1,乘积的数值=|M x|My|:0. 1 1 0 1 0. 1 0 0 1 0 1 1 0 1 0 0 0 0 00 0 0 0 00 1 1 0 10 0 0 0 0 0 0 1 1 1 0 1 0 1所以,xy =-0.0111010120111,规格化处理(左移一位 ),并采用 0 舍 1 入法进行舍入:xy =-0.11101120110即: =-0.111011261691634(2) 52332将 x、y 化为规格化数
19、:第 2 章作业参考答案7Mx= ,Ex=111001.2135My= ,Ey=001164Ex-Ey=Ex+(-Ey)=1110+1101=1011xy符 =00=0,下面用加减交替法计算尾数 MxMy:Mx补 =0.011010,My 补 =0.111100,-My 补 =1.0001000. 0 1 1 0 1 0 +-My补 1. 0 0 0 1 0 0 1. 0 1 1 1 1 0 余数为负,商为 00. 1 1 1 1 0 0 余数和商左移一位(0)+My补 0. 1 1 1 1 0 0 1. 1 1 1 0 0 0 余数为负,商为 01. 1 1 0 0 0 0 余数和商左移一位
20、(00)+My补 0. 1 1 1 1 0 0 0. 1 0 1 1 0 0 余数为正,商为 11. 0 1 1 0 0 0 余数和商左移一位(001)+-My补 1. 0 0 0 1 0 0 0. 0 1 1 1 0 0 商为 10. 1 1 1 0 0 0 (0011)+-My补 1. 0 0 0 1 0 0 1. 1 1 1 1 0 0 商为 01. 1 1 1 0 0 0 (00110)+My补 0. 1 1 1 1 0 0 0. 1 1 0 1 0 0 商为 11. 1 0 1 0 0 0 (001101)+-My补 1. 0 0 0 1 0 0 0. 1 0 1 1 0 0 商为
21、11. 0 1 1 0 0 0 (0011011)+-My补 1. 0 0 0 1 0 0 0. 0 1 1 1 0 0 商为 1(00110111)MxMy 的商为 0.0110111,余数为 0.0111002-7,由于 x 化为 0.01101(Mx)是尾数右移 2 位才得到,所以 xy 真正的余数是 0.0111002-7 再尾数左移 2 位,即0.0111002-9=0.1110002-10所以,xy 的商为:0.01101112 1011,规格化处理后为:0.11011121010=0.1101112-6,余数为 0.1110002-1011、不考虑 181ALU 的函数发生器,而
22、是从简单的全加器出发,则:若设 4 位的二进制数为 A=A3A2A1A0,B=B 3B2B1B0,并设 Gi=AiBi,P i=AiBi,由全加器进位输出的逻辑函数 Ci+1=AiBi+Ci(AiBi)可知:(由于进位输出函数还可以写成 Ci+1=AiBi+Ci(Ai+Bi),故 Pi=Ai+Bi 也可) (1) 串行进位方式:第 2 章作业参考答案8C1=A0B0+C0(A0B0)=G0+P0C0C2=A1B1+C1(A1B1)=G1+P1C1C3=A2B2+C2(A2B2)=G2+P2C2C4=A3B3+C3(A3B3)=G3+P3C3(2) 并行进位方式:C1=G0+P0C0C2=G1+
23、P1C1=G1+P1(G0+P0C0)=G1+P1G0+P1P0C0C3=G2+P2C2=G2+P2(G1+P1G0+P1P0C0)=G2+P2G1+P2P1G0+P2P1P0C0C4=G3+P3C3=G3+P3G2+P3P2G1+P3P2P1G0+P3P2P1P0C012、(1) -5-5=-(101)2=-(1.01)222所以S=1E=e+127=2+127=129=(81)16=(10000001)2M=(010 0000 0000 0000 0000 0000)2故浮点格式为:1 10000001 010 0000 0000 0000 0000 0000,用十六进制表示为:(C0A0
24、0000 )16(2) -1.5-1.5=-(1.1)2=-(1.1)220所以S=1E=e+127=0+127= (7F)16=(01111111)2M=(100 0000 0000 0000 0000 0000)2故浮点格式为:1 01111111 100 0000 0000 0000 0000 0000,用十六进制表示为:(BFC00000) 16(3) 384384=(180)16=(1 1000 0000)2=(1.1)228所以S=0E=e+127=8+127=135= (87)16=(10000111)2M=(100 0000 0000 0000 0000 0000)2故浮点格式
25、为:0 10000111 100 0000 0000 0000 0000 0000,用十六进制表示为:(43C00000) 16(4) 1/161/16= (1.0)22-4所以S=0E=e+127=-4+127= (7B)16=(01111011)2M=(000 0000 0000 0000 0000 0000)2故浮点格式为:0 01111011 000 0000 0000 0000 0000 0000,用十六进制表示为:(3D800000) 16(5) -1/32第 2 章作业参考答案9-1/32=-(1.0)22-5所以S=1E=e+127=-5+127= (7A)16=(011110
26、10)2M=(000 0000 0000 0000 0000 0000)2故浮点格式为:1 01111010 000 0000 0000 0000 0000 0000,用十六进制表示为:(BD000000 )1613、(1) 1 10000011 110 0000 0000 0000 0000 0000S=1E=(83)16=131 e=E-127=131-127=41.M=(1.11)2所以,该浮点数为 -(1.11)224=-(11100)2=-28(2) 0 01111110 101 0000 0000 0000 0000 0000S=0E=(7E)16=126 e=E-127=126-
27、127=-11.M=(1.101)2所以,该浮点数为 (1.101)22-1=(0.1101)2=0.812514、IEEE754 标准中,32 位二进制数仍然有 232 种不同的组合,但是由于在IEEE754 标准中,阶码为全 1 并且尾数为非 0 的情况不表示一个数。尾数 23 位,尾数非 0 有 223-1 种组合,再配合符号位,共有 2(223-1)种组合不表示一个数所以,该格式最多能表示不同的数的个数为:232-2(223-1)15、该运算器电路由 3 部分组成:ALU 完成定点加减法运算和逻辑运算;专用阵列乘法器完成乘法运算;专用阵列除法器完成除法运算。具体逻辑电路略。16、该 A
28、LU 能完成 8 种运算,故使用 3 个控制参数 S0S2。运算器中含有:(1) 一个 4 位的加法器:完成加法、减法、加 1 和传送 4 种操作,其中加 1 操作是把加数固定为 1,利用 4 位的加法器实现;传送是把加数固定为 0,利用 4位加法器实现。(2) 一个 4 位的求补器:完成求补操作。(3) 求反、逻辑乘和逻辑加分别设计专门的逻辑电路实现。具体电路略 17、181ALU 中的有些操作是冗余的或可由其他操作替代的,现要求简化为 8 种运算,故对 181 的运算种类进行简化,得到 4 种逻辑运算和 4 种算术运算,具体功能表如下:第 2 章作业参考答案10控制参数S2 S1 S0 运
29、算0 0 00 0 10 1 00 1 11 0 01 0 11 1 01 1 1逻辑 0ABA+BABA 加 BA 减 B 减 1A+AA而 181 其他的逻辑运算和算术运算都可以由以上的运算间接得到,例如:逻辑运算中: 通过对“A”求反得到; 通过对“A+B”求反得到;BA通过对“AB”与“ ”进行逻辑与实现; 通过对“AB ”取反得到;通过“AB”并让 A 固定为全 1 得到; 通过对“A B”与“A ”进行逻辑与实现; 通过对前面得到的 再取反得到; 通过对“A B”B取反得到;B 通过“AB”并让 A 固定为全 0 得到;逻辑 1 通过对“逻辑 0”取反得到; 通过对前面得到的 再取
30、反得到算术运算中:减 1 操作可通过“A 减 B 减 1”并令 B 固定为 0 来实现;18、余 3 码编码的十进制加法规则是:两个 1 位十进制数的余 3 码相加,如结果无进位,则从和数中减去 3(即加上 1101) ;如结果有进位,则和数中加上 3(加上 0011) ,即得和数的余 3 码。设参加运算的两个一位的十进制数分别为 Ai 和 Bi,它们的余 3 码分别为 Ai0Ai3和 Bi0Bi3,其二进制加法的和的编码为 Si0Si3,进位为 Ci+1,修正之后,和对应的余 3 码为 Fi0Fi3,进位为 CYi+1,则根据余 3 码的运算规则,有:当 Ci+1=0 时,F i3Fi2Fi1Fi0=Si3Si2Si1Si0+1101;当 C i+1=1 时,F i3Fi2Fi1Fi0=Si3Si2Si1Si0+ 0011,由此可画出逻辑电路图如下:FA FA FA FAFA FA FA FA0来自于低位输出的进位CiCi+11Bi0 Ai0Bi1 Ai1Bi2 Ai2Bi3 Ai3Si0Si1Si2Si3Fi0Fi1Fi2Fi3CYi+1