计算机组成原理答案(张功萱等编著)终极完整版

整理人:杜鹏 “0” “0” “4” “+”

(4) -8510 前分隔数字串 -8510

2D 38 35 31 30 “-“ “8” “5” “1” “0”

后嵌入数字串 -8510

38 35 31 70 “8” “5” “1” “0”

压缩的十进制数串 -8510

0000 1000 0101 0001 0000 1101 “0” “8” “5” “1” “0” “-”

2.19 什么是“码距”?数据校验与码距有什么关系?

答:码距是指在一组编码中任何两个编码之间最小的距离。

数据校验码的校验位越多,码距越大,编码的检错和纠错能力越强。

整理人:杜鹏

2.21 下面是两个字符(ASCII码)的检一纠一错的海明校验码(偶校验),请检测它们是否有错?如果有错请加以改正,并写出相应的正确ASCII码所代表的字符。 (1) 10111010011 (2) 10001010110 解:

(1) 指误字为

E1=P1⊕A6⊕A5⊕A3⊕A2⊕A0=1⊕1⊕1⊕1⊕0⊕1=1 E2=P2⊕A6⊕A4⊕A3⊕A1⊕A0=0⊕1⊕0⊕1⊕1⊕1=0 E3=P4⊕A5⊕A4⊕A3=1⊕1⊕0⊕1=1 E4=P8⊕A2⊕A1⊕A0=0⊕0⊕1⊕1=0

得到的指误字为E4E3E2E1=0101=(5)10,表示接收到的海明校验码中第5位上的数码出现了错误。将第5位上的数码A5=1取反,即可得到正确结果 10110010011。正确ASCII码所代表的字符为1001011=“K”。 (2) 指误字为

E1=P1⊕A6⊕A5⊕A3⊕A2⊕A0=1⊕0⊕1⊕1⊕1⊕0=0 E2=P2⊕A6⊕A4⊕A3⊕A1⊕A0=0⊕0⊕0⊕1⊕1⊕0=0 E3=P4⊕A5⊕A4⊕A3=0⊕1⊕0⊕1=0 E4=P8⊕A2⊕A1⊕A0=0⊕1⊕1⊕0=0

得到的指误字为E4E3E2E1=0000,无错。正确ASCII码为0101110=“.” 2.22 试编出8位有效信息01101101的检二纠一错的海明校验码(用偶校验)。 解:8位有效信息需要用4个校验位,所以检一纠一错的海明校验码共有12位。 4个校验位为:

P1=A7⊕A6⊕A4⊕A3⊕A1=0⊕1⊕0⊕1⊕0=0 P2=A7⊕A5⊕A4⊕A2⊕A1=0⊕1⊕0⊕1⊕0=0 P4=A6⊕A5⊕A4⊕A0=1⊕1⊕0⊕1=1 P8=A3⊕A2⊕A1⊕A0=1⊕1⊕0⊕1=1

检一纠一错的海明校验码:000111011101=1DDH 检二纠一错的海明校验码,增加P0

P0=P1⊕P2⊕A7⊕P4⊕A6⊕A5⊕A4⊕P8⊕A3⊕A2⊕A1⊕A0=1

有效信息01101101的13位检二纠一错的海明校验码:1000111011101=11DDH

2.23 设准备传送的数据块信息是1010110010001111,选择生成多项式为G(x)=100101,试求出数据块的CRC码。

解:模2除后,余数R(x)=10011,数据块的CRC码: 101011001000111110011

2.24 某CRC码(CRC)的生成多项式 G(x)=x3+x2+1,请判断下列CRC码是否存在错误。 (1) 0000000 (2) 1111101 (3) 1001111 (4) 1000110 解:G(x)=1101

(1) 0000000模2除1101,余数为:000,无错 (2) 1111101模2除1101,余数为:010,有错 (3) 1001111模2除1101,余数为:100,有错 (4) 1000110模2除1101,余数为:000,无错

2.25 选择题

(1) 某机字长64位,其中1位符号位,63位尾数。若用定点小数表示,则最大正

小数为 B 。

--

A. +(1-2-64) B. +(1-2-63) C. 264 D. 263

整理人:杜鹏

(2) 设[x]补=1.x1x2x3x4x5x6x7x8,当满足 B 时,x>-1/2成立。

A. x1=1, x2~x8至少有一个为1 B. x1=0, x2~x8至少有一个为1 C. x1=1,x2~x8任意 D. x1=0, x2~x8任意

(3) 在某8位定点机中,寄存器内容为10000000,若它的数值等于-128,则它采

用的数据表示为 B 。

A. 原码 B. 补码 C. 反码 D. 移码

(4) 在下列机器数中,哪种表示方式下零的表示形式是唯一的 B 。

A. 原码 B. 补码 C. 反码 D. 都不是

(5) 下列论述中,正确的是 D 。

A. 已知[x]原求[x]补的方法是:在[x]原的末位加1 B. 已知[x]补求[-x]补的方法是:在[x]补的的末位加1

C. 已知[x]原求[x]补的方法是:将尾数连同符号位一起取反,再在末位加1 D. 已知[x]补求[-x]补的方法是:将尾数连同符号位一起取反,再在末位加1

(6) IEEE754标准规定的32位浮点数格式中,符号位为1位,阶码为8位,尾数

为23位,则它所能表示的最大规格化正数为 A 。

-+-+

A. +(2-223)×2127 B. +(1-223)×2127

-++-

C. +(2-223)×2255 D. 2127-223

(7) 浮点数的表示范围取决于 A 。

A. 阶码的位数 B. 尾数的位数 C. 阶码采用的编码 D. 尾数采用的编码

(8) 在24×24点阵的汉字字库中,一个汉字的点阵占用的字节数为 D 。

A. 2 B. 9 C. 24 D. 72

(9) 假定下列字符码中有奇偶校验位,但没有数据错误,采用奇校验的编码是

B 。

A. 10011010 B. 11010000 C. 11010111 D. 10111000

(10) 在循环冗余校验中,生成多项式G(x)应满足的条件不包括 D 。

A. 校验码中的任一位发生错误,在与G(x)作模2除时,都应使余数不为0 B. 校验码中的不同位发生错误时,在与G(x)作模2除时,都应使余数不同 C. 用G(x)对余数作模2除,应能使余数循环

D. 不同的生成多项式所得的CRC码的码距相同,因而检错、校错能力相同

2.26 填空题

(1) 设某机字长为8位(含一符号位),若 [x]补=11001001,则x所表示的十进制

数的真值为 ① ,[1/4x]补= ② ;若 [y]移=11001001,则y所表示的十进制数的真值为 ③ ;y的原码表示 [y]原= ④ 。

答:① -55 ② 11110010 ③ +73 ④ 01001001 (2) 在带符号数的编码方式中,零的表示是唯一的有 ① 和 ② 。

答:① 补码 ② 移码

(3) 若[x1]补=10110111, [x2]原=1.01101 ,则数x1的十进制数真值是 ① ,x2

的十进制数真值是 ② 。 答:① -73 ② -0.71875 (4) 设某浮点数的阶码为8位(最左一位为符号位),用移码表示;尾数为24位(最

左一位为符号位),采用规格化补码表示,则该浮点数能表示的最大正数的阶码为 ① ,尾数为 ② ;规格化最大负数的阶码为 ③ ,尾数为 ④ 。

整理人:杜鹏

(用二进制编码回答)(书上:最小负数的阶码为 ③ ,尾数为 ④ 答:① 11111111 ② 011111111111111111111111

③ 11111111 ④ 100000000000000000000000

(5) 设有效信息位的位数为N, 校验位数为K,则能够检测出一位出错并能自动纠

错的海明校验码应满足的关系是 ① 。 答:① 2K-1≥N+K

2.27 是非题

(1) 设[x]补=0.x1x2x3x4x5x6x7,若要求x>1/2成立,则需要满足的条件是x1必须为

1,x2~x7至少有一个为1。 √ (2) 一个正数的补码和它的原码相同,而与它的反码不同。 × (3) 浮点数的取值范围取决于阶码的位数,浮点数的精度取决于尾数的位数。 √ (4) 在规格化浮点表示中,保持其他方面不变,只是将阶码部分由移码表示改为

补码表示,则会使该浮点表示的数据表示范围增大。 ×

(5) 在生成CRC校验码时,采用不同的生成多项式,所得到CRC校验码的校错

能力是相同的。 ×

第三章 作业解答 作业 三 (1)

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

解:(1) [x]补=0.11011 [y]补=0.00011 [-y]补=1.111101 [x+y]补=0.11011+0.00011=0.11110 [x-y]补=0.11011+1.111101=0.11000

(2)[x]补=0.10111 [y]补=1.00101 [-y]补=0.11011 [x+y]补=0.10111+1.00101=1.11100

[x-y]补=0.10111+0.11011=1.10010 溢出

(3)[x]补=1.01010 [y]补=1.10001 [-y]补=0.01111 [x+y]补=1.01010+1.10001=0.11011 溢出 [x-y]补=1.01010+0.01111=1.11001

3.2 已知[x]补、[y]补,计算[x+y]变形补和[x-y]变形补,并判断溢出情况。 (1) [x]补=100111 [y]补=111100 (2) [x]补=011011 [y]补=110100 (3) [x]补=101111 [y]补=011000

解:(1)[x]变形补=1100111 [y]变形补=1111100 [-y]变形补=0000100 [x+y]变形补=1100111+1111100=1100011 [x-y]变形补=1100111+0000100=1101011

(2)[x]变形补=0011011 [y]变形补=1110100 [-y] ]变形补=0001100 [x+y]变形补=0011011+1110100=0001111

[x-y]变形补=0011011+0001100=0100111 溢出

(3) [x]变形补=1101111 [y]变形补=0011000 [-y]变形补=1101000 [x+y]变形补=1101111+0011000=0000111

[x-y]变形补=1101111+1101000=1010111 溢出

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