计算机组成原理习题及答案

为Q位,各自包括一位符号位,均用补码表示,尾数基数r=2. (1)证明这种格式能表示的全部不同的规格化浮点数的总个数(包括0)N=2q-1*2p。

(2)相邻两个浮点数在数轴上的距离是否相等?如果不相等,是如何分布的。

(3)当p=4,q=8时,最大正数与最小正数之间的差为多少?最大正数与绝对值最大的负数之间的差为多少?

【解】(1)p位阶码,可以表示的阶码个数为2p;q位尾数,可以表示的尾数个数为2q,但是其中有一半的情况尾数不是规格数,因此可以表示的规格化的尾数个数为2q-1,所以这种格式能表示的全部不同的规格化浮点数的总个数(包括0)N=2q-1*2p。 (2)相邻两个浮点数在数轴上的距离不相等,它们的分布规律是离原点越近,越密集。离原点越远,越稀疏。 (3)当p=4,q=8时, 最大正数=(1-2-7)*27=127 最小正数=2-1*2-8=2-9

绝对值最大的负数=-1*27=-128 最大正数与最小正数之间的差为127-2-9

最大正数与绝对值最大的负数之间的差=127-(-128)=255 16、设浮点格式为:第15位符号位,第14位到第8位,阶码,采用补码表示,第7 位到第零位,尾数,与符号位一起采用规格化的补码表示,基数为2.

问:(1)它能表示的数值范围为多少?

(2)它能表示的最接近零的正数与负数分别是什么? (3)它总共能表示多少个数值?

【解】(1)因为阶码七位,采用补码表示,所以阶码的最大值=26-1=63,最小值=-26=-64;

因为尾数九位,采用规格化的补码表示,所以尾数的最大值=1-2-8,最小值=-1;

所以它能表示的数值范围为-1*263~(1-2-8)*263

(2)规格化尾数最接近零的正数与负数分别是:2-1和-(2-1+2-8) 所以浮点数能表示的最接近零的正数与负数分别是:(2-1)*2-64和-(2-1+2-8)*2-64

(3)7位阶码,可以表示的阶码个数为27;9位尾数,可以表示的尾数个数为29,但是其中有一半的情况尾数不是规格数,因此可以表示的规格化的尾数个数为29-1,所以这种格式能表示的全部不同的规格化浮点数的总个数(包括0)N=29-1*27=215

17、汉字的区位码、国标码和机内码有什么区别?已知汉字“春”的国标码为343AH,试分别写出它的区位码和机内码。 【解】GB2312的代码称之为国标码,国标码用16进制数表示。 汉字的区位码是用十进制数表示GB2312代码的区号和位号,与国标码没有本质的区别。仅是表示的数制有所不同而已。 机内码是系统内部标识汉字的编码。

国标码(16进制)=区位码(16进制)+2020H

机内码(16进制)=国标码(16进制)+8080H 因为汉字“春”的国标码为343AH,所以: 区位码(16

进制)=国标码(16

进制)

-2020H=343AH-2020H=141AH,转为十进制区码为20,位码为26.机内码(16

进制)=国标码(16

进制)

+8080H=343AH+8080H=B4BAH

2.3.3 数据信息的校验

1、一个纠错码的全部码字为

0000000000,

0000011111,1111111111,它的海明距离为多少?可纠正几个错误?如果出现了码字0100011110,应纠正为什么?

【解】码距是任意两个合法码之间至少有几个二进制位不相同,所以它们的码距为5.可纠正5-1个错误,即4个错误。 错误码字0100011110,可纠正为0000011111. 2、设待校验的数据为D8~D1=10101011. (1)若采用偶检验,则校验码为何? (2)若采用海明校验,其海明码为何?

(3)若采用CRC校验,其生成多项式为10011,则其CRC码为何?

【解】(1)偶检验,则校验码为101010111,其中最低位为校验位。

(2)采用海明校验,海明校验位的位数为4,分组如表所示。

12 11 10 9 8 7 6 5 4 3 2 1

D7 D6 D5 D4 P4 D3 D2 D1 P3 D0 P2 P1 1 0 1 0 1 0 1 1 √ 第一组(P1) 第一组(P2) √ √ √ √ √ √ √ √ √ √ √ 第一组(P3) √ √ √ √ √ 第一组(P4) √ √ √ √ √ P1=D6⊕D4⊕D3⊕D1⊕D0=0⊕0⊕1⊕1⊕1=1 P2=D6⊕D5⊕D3⊕D2⊕D0=0⊕1⊕1⊕0⊕1=1 P3=D7 ⊕D3⊕D2⊕D1=1⊕1⊕0⊕1=1 P4=D7⊕D6⊕D5⊕D4=1⊕0⊕1⊕0=0

所以,信息码10101011的海明校验码为:101001011111 (3)生成多项式G(x)=10011,因此生成多项式G(x)为5位,所以余数为4位。

求有效信息10101011的CRC校验码的运算过程如图所示: 余数为1010,所以,所求的CRC校验码为:1010101110. 10110110

1001101010110000 10011 11001 10011 10101 10011

联系客服:779662525#qq.com(#替换为@)