计算机组成原理习题答案第二章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14.若上题尾数基数r=16,按上述要求写出表达式。
解:上限(最大正数)=(1-2-(q-1))×162(p-1)-1。下限(绝对值最大负数)=-1×162(p-1)-1。最小正数=2-(q-1)×16-2(p-1)。最小规格化正数=16-1×16-2(p-1)。
15.某浮点数字长32位,格式如下。其中阶码部分8位,以2为底,移码表示;尾数
(1)非零最小正数;
(2)最大正数;
(3)绝对值最小负数;
(4)绝对值最大负数。
解:(1)非零最小正数:000000,0,100000000;2-1×2-25=2-33。
(2)最大正数:111111,0,111111111;(1-2-9)×225-1=(1-2-9)×231。
(3)绝对值最小负数:000000,1,011111111;-(2-1+2-9)×2-25。
…
0.1111116/3
6/4
a1+a2=0,a3=1或a1=0,a2=1或a1=1。
计算机组成原理教师用书
34(3)1/4
≥X>1
16的代码为:
0.0001015
64
…
0.0100001/4
a1+a2+a3=0,a4=1,a5+a6=1或a1+a2=0,a3=1或a2=1,a1+a3+a4+a5+
(4)绝对值最大负数:111111,1,000000000;-1×225-1=-231。
13.一浮点数,其阶码部分为p位,尾数部分为q位,各包含1位符号位,均用补码表示;尾数基数r=2,该浮点数格式所能表示数的上限、下限及非零的最小正数是多少?写
数据的机器层次表示出表达式。
解:上限(最大正数)=(1-2-(q-1))×22(p-1)-1。下限(绝对值最大负数)=-1×22(p-1)-1。最小正数=2-(q-1)×2-2(p-1)。最小规格化正数=2-1×2-2(p-1)。
(5)用补码表示定点整数。
解:(1)0≤X≤(216-1)
(2)-(1-2-15)≤X≤(1-2-15)
(3)-1≤X≤(1-2-15)
(4)-(215-1)≤X≤(215-1)
(5)-215≤X≤(215-1)
10.某机字长32位,试分别写出无符号整数和带符号整数(补码)的表示范围(用十
进制数表示)。
部分一共24位(含1位数符),补码表示。现有一浮点代码为(8C5A3E00)__________16,试写出它所表示的十进制真值。
07893
阶码数符尾数
解:(8C5A3E00)16=10001100010110100011111000000000B,
0.10110100011111×212=(101101000111.11)2=(2887.75)10。
a6=0。
6.设[X]原=1.a1a2a3a4a5a6,
(1)若要X>-1/2
,a1~a6要满足什么条件?
(2)若要-1/8
≥X≥-1/4
,a1~a6要满足什么条件?
解:(1)X>-1/2
的代码为:
1.000001-1
64
…
1.011111-3/1
64
a1=0,a2+a3+a4+a5+a6=1。
(2)-1/8
符号位=0。
阶码=127+9=136。
0,10001000,00111000000000000000000。
结果=441C0000H。
(3)-0.625=-0.101=-1.01×2-1。
符号位=1。
阶码=127-1=126。
1,01111110,01000000000000000000000。
结果=BF200000H。
(1)11000000111100000000000000000000;
(2)00111111000100000000000000000000;
(3)01000011100110010000000000000000;
(4)01000000000000000000000000000000;
(5)01000001001000000000000000000000;
所以,结果=306。
(4)0,10000000,00000000000000000000000
符号位=0。
阶码=128-127=1。
1.0×21=10B=2。
所以,结果=2。
(5)0,10000010,01000000000000000000000
符号位=0。
阶码=130-127=3。
1.01×23=1010B=10。
(6)00000000000000000000000000000000。
解:(1)1,10000001,11100000000000000000000
符号位=1。
阶码=129-127=2。
1.111×22=111.1B=7.5。
所以结果=-7.5。
(2)0,01111110,00100000000000000000000
0.10000001.1000000
0.1111000
1.1111000
00001101
10001101
00000000
00000000
0.10000001.1000000
0.1111000
1.0001000
00001101
11110011
00000000
11111111
0.10000001.0111111
所以,结果=10。
(6)0,00000000,00000000000000000000000
阶码和尾数都等于全0,结果=0。
19.对下列ASCII码进行译码:
1001001,0100001,1100001,1110111
1000101,1010000,1010111,0100100
解:以上ASCII码分别为I,!,a,w,E,P,W,$。
符号位的权2n-12n-1
-1的表示形式11111111111111100的表示形式0000000000000000
11111111
9.某机字长16位,问在下列几种情况下所能表示数值的范围:计算机组成原理教师用书
36(1)无符号整数;
(2)用原码表示定点小数;
(3)用补码表示定点小数;
(4)用原码表示定点整数;
的代码为:
数据的机器层次表示
51.100001-31
64
…
1.111111-1
64
a1=1,a2+a3+a4+a5+a6=1。
(2)-18
≥X≥-14
的代码为:
1.110000-1/4
1.110001-1/5
64
…
1.110111-9
64
1.111000-1/8
a1? a2=1,a3=0或a1? a2? a3=1,a4+a5+a6=0。
10100001
00011001
01001110
解:3个代码的校验位分别是0,0,1。
计算机组成原理教师用书
4022.已知下面数据块约定:横向校验、纵向校验均为奇校验,请指出至少有多少位
出错。
பைடு நூலகம்a7a6a5a4a3a2a1a0校验位
10011011→0
00110101→1
11010000→0
11100000→0
解:[X1]补=0.10100,[X2]补=1.01001。
4.已知下列数的补码表示,分别写出它们的真值:[X1]补=0.10100,[X2]补=1.10111。
解:X1=0.10100,X2=-0.01001。
5.设一个二进制小数X≥0,表示成X=0.a1a2a3a4a5a6,其中a1~a6取“1”或“0”:
20.以下列形式表示(5382)10。
(1)8421码; (2)余3码;
(3)2421码; (4)二进制数。
解:(1)0101001110000010。
(2)1000011010110101。
(3)1011001111100010。
(4)1010100000110。
21.填写下列代码的奇偶校验位,现设为奇校验:
7160.01110.01110.01114160.01000.01000.01001160.00010.00010.000100.00000.00000.0000-01.00000.00001.1111-1161.00011.11111.1110-4161.01001.11001.1011-7161.01111.10011.10003.已知下列数的原码表示,分别写出它们的补码表示:[X1]原=0.10100,[X2]原=1.10111。
1.设机器数的字长8位(含1位符号位),分别写出下列各二进制数的原码、补码和
反码:0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101。
解:
真 值原 码补 码反 码
0
-0
0.1000
-0.1000
0.1111
-0.1111
1101
-1101
00000000
10000000
≥X≥-1/4
的代码为:
1.001000-1/8
1.001001-9
64
…
1.001111-1/5
64
1.010000-1/4
a1+a2=0,a3=1或a2=1,a1+a3+a4+a5+a6=0。
7.若上题中[X]原改为[X]补,结果如何?
解:设[X]补=1.a1a2a3a4a5a6,
(1)X>-1/2
0.1111000
1.0000111
00001101
11110010
2.写出下列各数的原码、补码和反码:7
16,4
16,1
16,±0,-1
16,-4
16,-7
16。
解:7
16=7×2-4=0.0111
4
16=4×2-4=0.0100
1
16=1×2-4=0.0001
数据的机器层次表示
33真 值原 码补 码反 码
符号位=0。
阶码=126-127=-1。
1.001×2-1=0.1001B=0.5625。
数据的机器层次表示
所以,结果=0.5625。
(3)0,10000111,00110010000000000000000
符号位=0。
阶码=135-127=8。
1.0011001×28=100110010B=306。
(3)-0.625;
(4)+0.0;
(5)-1000.5。
解:(1)28.75=11100.11=1.110011×24。
符号位=0。
阶码=127+4=131。
0,10000011,11001100000000000000000。
计算机组成原理教师用书
38结果=41E60000H。
(2)624=1001110000=1.001110000×29。
(4)+0.0。
结果=00000000H。
(5)-1000.5=1111101000.1=1.1111010001×29。
符号位=1。
阶码=127+9=136。
1,10001000,11110100010000000000000。
结果=C47A2000H。
18.将下列IEEE短浮点数转换为十进制数:
解:无符号整数:0≤X≤(232-1)。
补码:-231≤X≤(231-1)。
11.某浮点数字长12位,其中阶符1位,阶码数值3位,数符1位,尾数数值7位,阶码以2为底,阶码和尾数均用补码表示。它所能表示的最大正数是多少?最小规格化正数是多少?绝对值最大的负数是多少?
解:最大正数=(1-2-7)×223-1=(1-2-7)×27=127。
01001111→0
↓↓↓↓↓↓↓↓
校验位10101111
解:经检测a7和a0列出错,所以至少有两位出错。
最小规格化正数=2-1×2-23=2-1×2-8=2-9=1
512。
绝对值最大的负数=-1×223-1=-1×27=-128。
12.某浮点数字长16位,其中阶码部分6位(含1位阶符),移码表示,以2为底;尾数部分10位(含1位数符,位于尾数最高位),补码表示,规格化。分别写出下列各题的二进制代码与十进制真值。
16.试将(-0.1101)2用IEEE短浮点数格式表示出来。
解:0.1101=1.101×2-1。
符号位=1。
阶码=127-1=126。
1,01111110,10100000000000000000000。
结果=BF500000H。
17.将下列十进制数转换为IEEE短浮点数:
(1)28.75;
(2)624;
(1)若要X>1/2
,a1~a6要满足什么条件?
(2)若要X≥1/8
,a1~a6要满足什么条件?
(3)若要
1/4
≥X>1
16,a1~a6要满足什么条件?
解:(1)X>12
的代码为:0.100001~0.111111。
a1=1,a2+a3+a4+a5+a6=1。
(2)X≥1/8
的代码为:
0.0010001/8
8.一个n位字长的二进制定点整数,其中1位为符号位,分别写出在补码和反码两种情况下:
(1)模数; (2)最大的正数;
(3)最负的数; (4)符号位的权;
(5)-1的表示形式; (6)0的表示形式。
解:
项目补码反码模数Mod2n Mod(2n-1)最大的正数2n-1-12n-1-1最负的数-2n-1-(2n-1-1)
解:上限(最大正数)=(1-2-(q-1))×162(p-1)-1。下限(绝对值最大负数)=-1×162(p-1)-1。最小正数=2-(q-1)×16-2(p-1)。最小规格化正数=16-1×16-2(p-1)。
15.某浮点数字长32位,格式如下。其中阶码部分8位,以2为底,移码表示;尾数
(1)非零最小正数;
(2)最大正数;
(3)绝对值最小负数;
(4)绝对值最大负数。
解:(1)非零最小正数:000000,0,100000000;2-1×2-25=2-33。
(2)最大正数:111111,0,111111111;(1-2-9)×225-1=(1-2-9)×231。
(3)绝对值最小负数:000000,1,011111111;-(2-1+2-9)×2-25。
…
0.1111116/3
6/4
a1+a2=0,a3=1或a1=0,a2=1或a1=1。
计算机组成原理教师用书
34(3)1/4
≥X>1
16的代码为:
0.0001015
64
…
0.0100001/4
a1+a2+a3=0,a4=1,a5+a6=1或a1+a2=0,a3=1或a2=1,a1+a3+a4+a5+
(4)绝对值最大负数:111111,1,000000000;-1×225-1=-231。
13.一浮点数,其阶码部分为p位,尾数部分为q位,各包含1位符号位,均用补码表示;尾数基数r=2,该浮点数格式所能表示数的上限、下限及非零的最小正数是多少?写
数据的机器层次表示出表达式。
解:上限(最大正数)=(1-2-(q-1))×22(p-1)-1。下限(绝对值最大负数)=-1×22(p-1)-1。最小正数=2-(q-1)×2-2(p-1)。最小规格化正数=2-1×2-2(p-1)。
(5)用补码表示定点整数。
解:(1)0≤X≤(216-1)
(2)-(1-2-15)≤X≤(1-2-15)
(3)-1≤X≤(1-2-15)
(4)-(215-1)≤X≤(215-1)
(5)-215≤X≤(215-1)
10.某机字长32位,试分别写出无符号整数和带符号整数(补码)的表示范围(用十
进制数表示)。
部分一共24位(含1位数符),补码表示。现有一浮点代码为(8C5A3E00)__________16,试写出它所表示的十进制真值。
07893
阶码数符尾数
解:(8C5A3E00)16=10001100010110100011111000000000B,
0.10110100011111×212=(101101000111.11)2=(2887.75)10。
a6=0。
6.设[X]原=1.a1a2a3a4a5a6,
(1)若要X>-1/2
,a1~a6要满足什么条件?
(2)若要-1/8
≥X≥-1/4
,a1~a6要满足什么条件?
解:(1)X>-1/2
的代码为:
1.000001-1
64
…
1.011111-3/1
64
a1=0,a2+a3+a4+a5+a6=1。
(2)-1/8
符号位=0。
阶码=127+9=136。
0,10001000,00111000000000000000000。
结果=441C0000H。
(3)-0.625=-0.101=-1.01×2-1。
符号位=1。
阶码=127-1=126。
1,01111110,01000000000000000000000。
结果=BF200000H。
(1)11000000111100000000000000000000;
(2)00111111000100000000000000000000;
(3)01000011100110010000000000000000;
(4)01000000000000000000000000000000;
(5)01000001001000000000000000000000;
所以,结果=306。
(4)0,10000000,00000000000000000000000
符号位=0。
阶码=128-127=1。
1.0×21=10B=2。
所以,结果=2。
(5)0,10000010,01000000000000000000000
符号位=0。
阶码=130-127=3。
1.01×23=1010B=10。
(6)00000000000000000000000000000000。
解:(1)1,10000001,11100000000000000000000
符号位=1。
阶码=129-127=2。
1.111×22=111.1B=7.5。
所以结果=-7.5。
(2)0,01111110,00100000000000000000000
0.10000001.1000000
0.1111000
1.1111000
00001101
10001101
00000000
00000000
0.10000001.1000000
0.1111000
1.0001000
00001101
11110011
00000000
11111111
0.10000001.0111111
所以,结果=10。
(6)0,00000000,00000000000000000000000
阶码和尾数都等于全0,结果=0。
19.对下列ASCII码进行译码:
1001001,0100001,1100001,1110111
1000101,1010000,1010111,0100100
解:以上ASCII码分别为I,!,a,w,E,P,W,$。
符号位的权2n-12n-1
-1的表示形式11111111111111100的表示形式0000000000000000
11111111
9.某机字长16位,问在下列几种情况下所能表示数值的范围:计算机组成原理教师用书
36(1)无符号整数;
(2)用原码表示定点小数;
(3)用补码表示定点小数;
(4)用原码表示定点整数;
的代码为:
数据的机器层次表示
51.100001-31
64
…
1.111111-1
64
a1=1,a2+a3+a4+a5+a6=1。
(2)-18
≥X≥-14
的代码为:
1.110000-1/4
1.110001-1/5
64
…
1.110111-9
64
1.111000-1/8
a1? a2=1,a3=0或a1? a2? a3=1,a4+a5+a6=0。
10100001
00011001
01001110
解:3个代码的校验位分别是0,0,1。
计算机组成原理教师用书
4022.已知下面数据块约定:横向校验、纵向校验均为奇校验,请指出至少有多少位
出错。
பைடு நூலகம்a7a6a5a4a3a2a1a0校验位
10011011→0
00110101→1
11010000→0
11100000→0
解:[X1]补=0.10100,[X2]补=1.01001。
4.已知下列数的补码表示,分别写出它们的真值:[X1]补=0.10100,[X2]补=1.10111。
解:X1=0.10100,X2=-0.01001。
5.设一个二进制小数X≥0,表示成X=0.a1a2a3a4a5a6,其中a1~a6取“1”或“0”:
20.以下列形式表示(5382)10。
(1)8421码; (2)余3码;
(3)2421码; (4)二进制数。
解:(1)0101001110000010。
(2)1000011010110101。
(3)1011001111100010。
(4)1010100000110。
21.填写下列代码的奇偶校验位,现设为奇校验:
7160.01110.01110.01114160.01000.01000.01001160.00010.00010.000100.00000.00000.0000-01.00000.00001.1111-1161.00011.11111.1110-4161.01001.11001.1011-7161.01111.10011.10003.已知下列数的原码表示,分别写出它们的补码表示:[X1]原=0.10100,[X2]原=1.10111。
1.设机器数的字长8位(含1位符号位),分别写出下列各二进制数的原码、补码和
反码:0,-0,0.1000,-0.1000,0.1111,-0.1111,1101,-1101。
解:
真 值原 码补 码反 码
0
-0
0.1000
-0.1000
0.1111
-0.1111
1101
-1101
00000000
10000000
≥X≥-1/4
的代码为:
1.001000-1/8
1.001001-9
64
…
1.001111-1/5
64
1.010000-1/4
a1+a2=0,a3=1或a2=1,a1+a3+a4+a5+a6=0。
7.若上题中[X]原改为[X]补,结果如何?
解:设[X]补=1.a1a2a3a4a5a6,
(1)X>-1/2
0.1111000
1.0000111
00001101
11110010
2.写出下列各数的原码、补码和反码:7
16,4
16,1
16,±0,-1
16,-4
16,-7
16。
解:7
16=7×2-4=0.0111
4
16=4×2-4=0.0100
1
16=1×2-4=0.0001
数据的机器层次表示
33真 值原 码补 码反 码
符号位=0。
阶码=126-127=-1。
1.001×2-1=0.1001B=0.5625。
数据的机器层次表示
所以,结果=0.5625。
(3)0,10000111,00110010000000000000000
符号位=0。
阶码=135-127=8。
1.0011001×28=100110010B=306。
(3)-0.625;
(4)+0.0;
(5)-1000.5。
解:(1)28.75=11100.11=1.110011×24。
符号位=0。
阶码=127+4=131。
0,10000011,11001100000000000000000。
计算机组成原理教师用书
38结果=41E60000H。
(2)624=1001110000=1.001110000×29。
(4)+0.0。
结果=00000000H。
(5)-1000.5=1111101000.1=1.1111010001×29。
符号位=1。
阶码=127+9=136。
1,10001000,11110100010000000000000。
结果=C47A2000H。
18.将下列IEEE短浮点数转换为十进制数:
解:无符号整数:0≤X≤(232-1)。
补码:-231≤X≤(231-1)。
11.某浮点数字长12位,其中阶符1位,阶码数值3位,数符1位,尾数数值7位,阶码以2为底,阶码和尾数均用补码表示。它所能表示的最大正数是多少?最小规格化正数是多少?绝对值最大的负数是多少?
解:最大正数=(1-2-7)×223-1=(1-2-7)×27=127。
01001111→0
↓↓↓↓↓↓↓↓
校验位10101111
解:经检测a7和a0列出错,所以至少有两位出错。
最小规格化正数=2-1×2-23=2-1×2-8=2-9=1
512。
绝对值最大的负数=-1×223-1=-1×27=-128。
12.某浮点数字长16位,其中阶码部分6位(含1位阶符),移码表示,以2为底;尾数部分10位(含1位数符,位于尾数最高位),补码表示,规格化。分别写出下列各题的二进制代码与十进制真值。
16.试将(-0.1101)2用IEEE短浮点数格式表示出来。
解:0.1101=1.101×2-1。
符号位=1。
阶码=127-1=126。
1,01111110,10100000000000000000000。
结果=BF500000H。
17.将下列十进制数转换为IEEE短浮点数:
(1)28.75;
(2)624;
(1)若要X>1/2
,a1~a6要满足什么条件?
(2)若要X≥1/8
,a1~a6要满足什么条件?
(3)若要
1/4
≥X>1
16,a1~a6要满足什么条件?
解:(1)X>12
的代码为:0.100001~0.111111。
a1=1,a2+a3+a4+a5+a6=1。
(2)X≥1/8
的代码为:
0.0010001/8
8.一个n位字长的二进制定点整数,其中1位为符号位,分别写出在补码和反码两种情况下:
(1)模数; (2)最大的正数;
(3)最负的数; (4)符号位的权;
(5)-1的表示形式; (6)0的表示形式。
解:
项目补码反码模数Mod2n Mod(2n-1)最大的正数2n-1-12n-1-1最负的数-2n-1-(2n-1-1)