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

(2)对。若M1和M2是规格化数,结论正确。

2.2.4解答题

1.试比较定点带符号数在计算机内的四种表示方法。

答:带符号数在计算机内的表示方法有原码、反码、补码、移码。原码表示方法简单易懂,乘除运算规则简单,但加、减运算的实现比较复杂。补码的特点是进行加减法运算规则简单,正负数的处理方法一致。反码通常用来计算补码,由于其运算不方便,在计算机中没有得到实际应用。移码由于保持了数据原有的大小顺序,便于进行操作,常用于表示浮点数中的阶码,方便浮点运算的操作。 2.设计补码表示的目的是什么?

答:设计补码表示法的目的是使符号位参与运算,从而简化加减法的规则,使减法运算转化为加法运算,从而简化机器的运算器电路。 3.试问采用什么样的机器数形式可用全0表示浮点数的机器0. 答:阶码用移码表示,尾数用原码或补码表示时,浮点数的机器零可以用全0来表示,这就是为什么浮点数的阶码常用移码来表示的原因。

4.试述浮点数规格化的目的、方法。

答案:浮点数的规格化是使浮点数的尾数的最高数值位为有效数位。当尾数用补码表示时,符号位与小数点后的第一位不相等则为已规格化数据,否则是非规格化数据。通过规格化,可以保证运算数据的精度。通常采用向左规格化,即尾数每左移1位,阶码减1,直至规格化完成。

5.在检错码中,奇偶校验法能否定位发生错误的信息位?是否具有纠错能力?

答:(1)奇偶校验法不能定位发生错误的信息位。 (2)奇偶校验法没有纠错能力。 6.简述CRC的纠错原理。

答:CRC码就是一种纠错能力较强的编码。在进行校验时,将CRC码多项式与生成多项式G(X)相除,若余数为0,则表明数据正确;党余数不为0时,说明数据有错。只要选择适当的生成多项式G(X),余数与CRC码出错位位置的对应关系是一定的,由此可以用余数作为判断出错位置的依据而纠正错误。 2.3.1定点数的表示

1.将表2.1(a)中的编码转化成十进制数值。

表2.1(a)题目

原码 0.1010 1.1111 1.1010 原码 0.1010 1.1111 1.1010 十进制 十进制 0.625 -0.9375 -0.625 反码 0,1010 1.1111 1.1010 反码 0.1010 1.1111 1.1010 十进制 十进制 0.625 0 -0.3125 补码 0.1010 1.1111 1.1010 补码 0.1010 1.1111 1.1010 十进制 十进制 0.625 -0.0625 -0.375 表2.1(b)的答案

2.下列代码若看做ASCII码、整数补码、8421码时分别代表什么? 77H 37H

解:77H看作ASCII码、整数码、8421码时分别代表字符‘w’、数

119、数77;

37H看作ASCII码、整数码、8421码时分别代表字符‘7’、数

55、数37.

3.字长为8位,分别求x=+1000(2)和x=-1000(2)的移码。

解:(1)x=+1000(2),则【x】补=00001000,【x】移=27+【x】补

=10000000+00001000=10001000

(2)x=-1000(2),则【x】补=11111000,【x】移=27+【x】补

=10000000+11111000=01111000

4.以下各数均无符号数,请比较它们的大小:

321FH和A521H 80H和32H 8000H和AF3BH 72H和31H 解:321FH32H 8000H31H 5.以下各数均为有符号数的补码,请比较它们的大小: 321FH和A521H 80H和32H 8000H和AF3BH 72H和31H 解:321FH>A521H 80H>32H 8000H31H

6.写出下列各数的原码、反码、补码、移码表示(用8位二进制数),

其中MSB是最高位(又是符号位),LSB是最低位,如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后;如果是正数,小数点在LSB之后。

① -35/64 ②23/128 ③-127 ④用小数表示-1

⑤ 用正数表示-1 ⑥用整数表示-128

解:-35/64和23/128均用定点小数表示,转化成二进制数可使计算

方法简便,如23/128=10111×2-7=0.0010111;-1在定点小数表示中原码和反码表示不出,但补码可以表示;-1在定点整数表示中是最大负数;-128在定点整数表示中原码和反码表示不出,但补码可以表示,下列各数的原码、反码、补码、移码表示见表2.2.

表2.2 各数的原码、反码、补码、移码表示

十进制数 二进制数真值 原码表示 反码表示 补码表示 移码表示 -35/64 -0.100011 1.1000110 1.0111001 1.0111010 0.0111010 23/128 0.0010111 0.0010111 0.0010111 0.0010111 1.0010111 -127 -1111111 11111111 10000000 10000001 00000001

用小数表示 -1.0 / / 1.0000000 0.0000000 用整数表示 -1 10000001 11111110 11111111 01111111

用整数表示-128 -10000000 / / 10000000 00000000

7.机器数字长为8位(含一位符号位),若若机器数为81(十六进

制),当它们分别表示原码、补码、反码和移码是,等价的十进制数分别是多少/

解:机器数为81H=10000001(二进制) 当看成原码时其等价大的十进制整数=-1 当看成补码时其等价大的十进制整数=-127 当看成反码时其等价大的十进制整数=-126 当看成移码时其等价大的十进制整数=+1

8.若小数点约定在8为二进制数的最右端(整数),试分别写出下列

各种情况下W、X、Y、Z的真值。 (1)【W】补=【X】原=【Y】反=【Z】移=00H

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