第二章微机原理习题答案 下载本文

内容发布更新时间 : 2024/6/16 22:00:48星期一 下面是文章的全部内容请认真阅读。

微机原理课后问题解答

第二章习题答案

一、 将下列十进制数转换成二进制数。

(1)36 (2)0.628 (3)129.313 (4)1000

答:(1)100100 (2)0.1010 (3)129.313 (4)1111101000 二、 单选题 1.

定点16位字长的字,采用2的补码形式表示时,一个字所能表示的整数范围是 A 。

15 15 15 15

A.–2~ +(2–1) B.–(2–1)~ +(2–1)C.–(2+1)~ +22.

15

15

D.–2

15

~ +2

15

若浮点数用补码表示,则判断运算结果是否为规格化数的方法是 C 。 A.阶符与数符相同为规格化数 B.阶符与数符相异为规格化数 C.数符与尾数小数点后第一位数字相异为规格化数 D.数符与尾数小数点后第一位数字相同为规格化数

3. 4.

在机器数 B 中,零的表示形式是唯一的。 A.原码

B.补码

C.移码

D.反码

定点字长的字,采用2的补码表示时,一个字所能表示的整数范围是 A 。

A.–128 ~ +127 B.–127 ~ +127 C.–129 ~ +128 D.–128 ~ +128 5. 用64位字长(其中一位符号位)表示定点小数时,所能表示的数值范围是 B 。 A.[ 0,264 – 1 ] B.[ 0,263 – 1 ] C.[ 0,262 – 1 ] D.[ 0,263 ]

6. 假定下列字符码中有奇偶校验位,但没有数据错误,采用偶校校验的字符码是 D 。

A.11001011 B.11010110 C.11000001 D.11001001 7. 8.

已知X为整数,且[X]补 = 10011011,则X的十进制数值是 B 。 A.+155 B.–101 C.–155 D.+101

用16位字长(其中一位符号位)表示定点小数时,所能表示的数值范围是 B 。 A.0≤│N│≤1–2 C.0≤│N│≤1–2–(16–1) 9.

–(16+1)

B.0≤│N│≤1–2 D.0≤│N│≤1

–16

如果浮点数用补码表示,判断下列哪一项的运算结果是规格化数 C 。

A.1.11000 B.0.01110 C.1.00010 D.0.01010

三、 判断题

1.从二进制转换成十六进制时,只要以小数点为起点,向左、向右将每一位二进制数转换成一位十六进制数。 ( F ) 2.任意进制数转换成十进制数就是按权展的开多项式之和。 ( T )

3.定点表示法,小数点在数中的位置是固定不便的;浮点表示法,小数点在数中的位置是浮动可变的。 ( F ) 4.对于浮点数,当字长一定时,分给阶码的位数越少,则表示数的范围越大。 ( F ) 5.在有权BCD码中,每一个十进制数符均用一个4位二进制码来表示,这4位二进制码中的每一个均有固定权值。 ( T ) 6.无权BCD码没有确定的位权值,因此不以按位权展开求它们所代表的十进制。( F )

7.计算机只能处理数字信息。 ( F ) 8.汉字信息在系统内传送的过程就是汉字代码转换的过程。 ( T )

四、 计算与证明

1. 已知 x = - 0.01111 ,y = +0.11001,

求 [ x ]补,[ -x ]补,[ y ]补,[ -y ]补,x + y =?,x – y =?

答:解:[ x ]原 = 1.01111 [ x ]补 = 1.10001 所以 :[ -x ]补 = 0.01111 [ y ]原 = 0.11001 [ y ]补 = 0.11001 所以 :[ -y ]补 = 1.00111 [ x ]补 11.10001 [ x ]补 11.10001 + [ y ]补 00.11001 + [ -y ]补 11.00111

[ x + y ]补 00.01010 [ x - y ]补 10.11000

所以: x + y = +0.01010 因为符号位相异,结果发生溢出 2. 已知:x= 0.1011,y = - 0.0101

求 :[

12141214x]补,[ x]补,[ - x ]补,[y]补,[y]补,[ - y ]补 。

解: [ x ]补 = 0.1011 , [ y ]补 = 1.1011 [ [

1214x ]补 = 0.01011 , [x ]补

12x ]补 = 1.11011

= 0.001011 ,[

14 x ]补 = 1.111011

[ - x ]补 = 1.0101 , [ - x ]补 =0.0101 3. 求证: - [y]补 = +[-y]补

证:因为 [x]补 + [y]补 =[x+y]补 令 x=-y 带入上式,则有:

[-y]补 + [y]补 =[-y+y]补 = [0]补 = 0

所以 [-y]补 = -[y]补

4. 已知X=2010×0.11011011,Y=2100×(-0.10101100),求X+Y。

解:为了便于直观理解,假设两数均以补码表示,阶码采用双符号位,尾数采用单符号位,则

它们的浮点表示分别为:

[ X ]浮 = 00010 , 0.11011011

[ Y ]浮 = 00100 , 1.01010000 (1) 求阶差并对阶:

ΔE = Ex – Ey = [ Ex]补 + [ - Ey]补 = 00010 + 11100 = 11110 即ΔE为 –2,x的阶码小,应使Mx 右移2位,Ex加2, [ X ]浮 = 00010 , 0.11011011 (11)

其中(11)表示Mx 右移2位后移出的最低两位数。

2

(2) 尾数和

0. 0 0 1 1 0 1 1 0 (11) 1. 0 1 0 1 0 1 0 0

2. 1 0 0 0 1 0 1 0 (11)

(3) 规格化处理

尾数运算结果的符号位与最高数值位为同值,应执行左规处理,结果为1.00010101 (10),阶码为00 011 。

(4) 舍入处理

采用0舍1入法处理,则有

1. 0 0 0 1 0 1 0 1

+ 1

1. 0 0 0 1 0 1 1 0

(5) 判溢出

阶码符号位为00 ,不溢出,故得最终结果为 x + y = 2011× (-0.11101010)

5. 设机器字长16位,定点表示,尾数15位,数符1位,

(1)定点原码整数表示时,最大正数是多少?最大负数是多少? (2)定点原码小数表示时,最大正数是多少?最大负数是多少? 解:① 定点原码整数表示

最大正数 0 111 111 111 111 111

数值 = (215 – 1)10 = (+32767)10

最大负数 1 111 111 111 111 111

数值 = -(215 – 1 )10 = (- 32767)10

②定点原码小数表示

最大正数值 = ( + 0.11……11)2 = (1 – 215 )10

最大负数值 = ( - 0.11……11)2 = -(1 - 215 )

6. 将十进制数20.59375转换成32位浮点数的二进制格式。 解:先将十进制数转换为二进制数: (20.59375)10=(10100.10011)2 然后移动小数点,使其在1,2位之间

10100.10011=1.0010011×24

,e =4

于是得到 S=0, E = 4+127 = 131 M=01001011 最后得到32位浮点数的二进制格式为:

3