当前位置:文档之家› 计算机组成原理(第2版)答案

计算机组成原理(第2版)答案


2.1 将下列各数值写成按权展开式: (572.106)8 (A3D.F0E)16 (1011.011)2 (4211.375)10 3 2 1 0 解 :(4211.375)10=4×10 +2×10 +1×10 +1×10 +3×10-1+7×10-2+5×10-3 (572.106)8=5×82+7×81+2×80+1×8-1+0×8-2+6×8-3 (A3D.F0E)16 =A×162+3×161+D×160+F×16-1+0×16-2+E×16-3 (1011.011)2=1×23+0×22+1×21+1×20+0×2-1+1×2-2+1×2-3 2.2 将二进制数 11011,-0.1001,101011.0011 转换成十进制数。 解:11011=1×24+1×23+0×22+1×21+1×20=16+8+0+2+1=(27)10 -0.1001=-(1×2-1+0×2-2+0×2-3+1×2-4)=(-0.5625)10 101011.0011=1 × 25+0 × 24+1 × 23+0 × 22+1 × 21+1 × 20+0 × 2-1+0 × 2-2+1 × 2-3+1 × 2-4=(43.1875) 10 2.3 将十进制数 199,0.375,0.2,69.3,-523.11 转换成二进制数。 解: (199)10=(11000111)2 (0.375)10=(0.011)2 (0.2)10=(0.001100)2 (69.3)10=(1000101.010011)2 (-523.11)10=(-1000001011.000111)2 解析:具体解法见书 P15—P16。 2.4 试借助八进制为过渡制,进行题 2.2 与题 2.3 的转换。 3 分析:由于二进制基数为 2,八进制基数为 8,由于 2 =8,所以八进制的一位对应的二进
-1≤X<1 [X]移=2n-1+X -2n-1 ≤X<2n-1 [X]移=1+X 2-11 写出下列各机器数的真值: [x] 补=0.1111 [x] 补=1.1111 [x] 补=1.0000 [x] 补=1.1000 解:解: 补码 真值 0.1111 [x] 补=0.1111 -0.0001 [x] 补=1.1111 -1.0000 [x] 补=1.0000 -0.1000 [x] 补=1.1000 解析:令[[x] 补=1.x1x2……xn-2xn-1 则从补码求真值的方法是:x= [x] 补-2= [x] 补(1.11…11-1.x1x2……xn-2xn-1 +0.00…01)=-(0.x1x2……xn-2xn-1 +0.00…01) 即各位取反,再在末位加 1,并在结果上冠以负号,即得负数的真值,正数补码的真值为其 本身。 2-12 若[X] 补>[Y] 补是否意味着 X>Y? 解:否,例-1 和-2; [-2]补=11111110 [-1]补=1.0000 且任一负整数(除-1 外)的补都大于-1 的补,但-1 大于这些负整数 2.13 (a)不一定,若 s1,s2 为非规格化数,则 N1,N2 大小不定; (b)若 s1,s2 都为规格化数,p>q,则 N1>N2。 2-13 给定两个正浮点数 N1=S1×2p N2=S2×2q (a) 若 p>q, 是否有 N1> N2? 。 (b) 若 S1、S2 都是规格化数,请回答(a) 解:(a)不一定,若 S1、S2 为非规格化数,则 N1,N2 大小不定; (b)若 S1、S2 都为规格化数,p>q,则 N1> N2。 2-14 试用二进制定点数的原码、 补码和反码以及二进制规格化数 (阶用移码而尾数用补码) 表示下列各数:
解: 原码 补码 -0.00101 1.00101 1.11011 -0.11111 1.11111 1.00001 0.01010 0.01010 0.01010 -0.10000 1.10000 1.10000 解析:对小数而言 X 0≤X<1 [X]原= 1-X -1<X≤0 X 0≤X<1 [X]补= 2+X -1≤X<0 X 0≤X<1 [X]反= -( n-1)) +X -1<X≤0 (2-2
制的三位,概括为“三位归一位” 。 (000)2—(0)8; (001)2—(1)8; (010)2—(2)8; (100)2—(4)8; (101)2—(5)8; (110)2—(6)8; (111)2—(7) (011)2—(3)8; 8。 解:011 011 3 3 所以(11011)2=(33)8=3*81+3*80=(27)10 -0.100 100 4 4 所以(-0.1001)2=(-0.44)8=--(4*8-1+4*8-2)=(-0.5625)10 ( 101011.0011)2=(53.14)8=(43.1875)10 ( (199)10=(307)8=(11000111)2 (0.375)10=(0.38)=(0.011)2 (0.2)10=(0.14)8=(0.001100)2 (69.3)10=(105.23)8=(1000101.010011)2 (-523.11)10=(1013.07)8=(-1000001011.000111)2 2.5 设一个六位二进制小数 X>=0,表示成 0.k1k2k3k4k5k6,其中 k1,k2,…,k6 可分别取 1 或 0,试 问: (1)若要 X>1/2,那么 k1,k2,…,k6 要满足什么条件? (2)若要 X≥1/8,那么 k1,k2,…,k6 要满足什么条件? 解:(1) k1=1, ,k2,…,k6 任一个为 1; (2)k1,k2 至少一位为 1 ,k3…,k6 任意; 或 k1,k2 为 0,k3,为 1,k4…,k6 任意。 2.6 判断任何一个 7 位的二进制正整数 k= k1k2k3k4k5k6k7 是否为 4 的倍数?
答:若 k6k7=0,则该数为 4 的倍数 2.7 设浮点机采用如下格式浮点数: 阶符 阶 数符 尾数 当阶位数为 e,尾数位数为时 m,请填写出(用十进制表示)它所能表示的数的范围及有效 数字的位数。另外,在给定字长条件下,请讨论 e 和 m 对表示数的范围和精度的影响。 阶尾数位数的分配 最大数 最小数 有效数字位数 - 3 0.0625×2 3 4 e=2 , m=4 0.9375×2 -7 7 0.125×2 3 e=3 , m=4 0.875×2 -15 15 0.25×2 2 e=4 , m=2 0.75×2 分析:浮点机在题设条件下,表示数的绝对值最大为 |N|max=(1-2-m)×2n;表示数的绝对值最小为: |N|min=2-m×2-n).其中 n=2e-1。 2.8 设二进制浮点数浮点数的阶为 3 位,尾数为 6 位,另有阶符,数符各 1 位。试写出它所 表示的最大正数,最小正数;最大负数,最小负数(除 0 外) ,并写出相应的数值(用十进 制表示) 。 解:阶的位数 e=3,尾数 m=6 7 则表示数的绝对值最大为|N|max =(1-2-m)×2n=(1-2-6)×2n1=0.984375×2 7 e 3 |N|min =2-m×2-n=2-6×2 =2;其中 n=2 -1,n1=2 -1 7 所以,最大正数为 0.984375×2 ,最小正数为 2 7 最大负数为-2, 最小负数为-0.984375×2 阶符 0 1 1 0
反码 移码 1.11010 0.11011 1.00000 0.00001 0.01010 0.01010 1.01111 0.10000 对整数而言 [X]原= X 0≤X<2n-1 n-1 2 -X -2n-1 <X≤0 [X]补= X 0≤X<2n-1 n 2 +X -2n-1 ≤X<0 [X]反= X 0≤X< 2n-1 ( 2n -1)+X -2n-1<X≤0
2
-5
3
± 64 =(±2 )10=(±0.1)2×2
-4
73.5=(1001001.1)2=(0.10010011)2×2 则 阶符 阶 数符 72
2 64 2
1
7
尾数 111100 100000 100000
0 1 1
011 100 100
0 0 1
- 64
73.5 0 111 0 100100 2-10 写出下列各二进制数的原码、补码、反码及移码: -0.00101 -0.11111 0.01010 -0.10000
13 13
+ 128 、- 128 解:
13
原码
补码
反码 0.0001101 1.1110010
二进制规格化数 101101101000 010110011000
+ 128
13
0.0001101 0.0001101 1.0001101 1.1110011
- 128
2-15 试用补码定义证明:[X]补+[Y] 补=[X+Y] 补。 证明: (1)X>0,Y>0,则 X+Y>0 [X] 补+[Y] 补=X+Y=[X+Y] 补 (2)X>0,Y<0,则 X+Y>0 或 X+Y<0 因为[X] 补=X,[Y] 补=2+Y 所以[X] 补+[Y]补=X+2+Y=2+(X+Y) 当 X+Y>0 时,2+(X+Y)>2,进位 2 必丢失,又因(X+Y)>0,所以 [X] 补+[Y] 补=X+Y=[X+Y] 补 当 X+Y<0,2+(X+Y)<2,又因(X+Y)<0,所以 [X] 补+[Y] 补=X+Y=[X+Y] 补 (3)X<0,Y>0,则 X+Y>0 或 X+Y<0 此情况和第 2 种情况一样,把 X 与 Y 的位置对调即得证。 (4)X<0,Y<0,则 X+Y<0 因为[X] 补=2+X,[Y] 补=2+Y 所以[X] 补+[Y] 补=2+X+2+Y=[X+Y] 补。 2-16 试写出数 0 在原码、补码、反码和移码中的表示形式。 解: 原码 补码 反码 移码 +0 00000000 00000000 0.00…00 10000000 -0 10000000 00000000 1.11…11 10000000 2-17 指出下表中代码 (B) 在不同编码系统中所表示之值, 并以相应的十进制数值填入表格。 (B) b3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 b2 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 b1 1 1 0 0 1 1 0 0 0 0 1 1 0 0 1 1 b0 1 0 1 0 1 0 1 0 0 1 0 1 0 1 0为 最小负数为
相关主题