内容发布更新时间 : 2024/11/14 12:57:43星期一 下面是文章的全部内容请认真阅读。
微机原理课后问题解答
第二章习题答案
一、 将下列十进制数转换成二进制数。
(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