2012年软考软件设计师练习试题及答案解析
1.某计算机系统中,16位浮点数的表示格式如图1所示。其中阶码4位(含1位符号)为定点整数,尾数12位(含1位符号)为定点小数。
图 1
设一个数机器码为1110 0010 1000 0000,若阶码为移码且尾数为原码,则其十进制数真值为 (1) 。
(1) A.20
B.25
C.0.078 125
D.20.969 375
参考答案:(1)A。
解析:为了充分利用尾数来表示更多的有效数字,即提高数据的表示精度,通常采用规格化浮点数。规定浮点数在运算结束将运算结果存到计算机中时,必须是规格化的浮点数。规格化浮点数尾数的最高数值位是有效数字,即正尾数0.5≤F<1,负尾数-1
对于本试题的解答思路是,对给定的机器码按浮点数格式得到阶码和尾数,然后将阶码变为十进制数,最后得到浮点数的十进制真值。如果给定的浮点数机器码不是用规格化表示的,则可将其表示为规格化的机器码。规格化时,先看给定的浮点数机器码的尾数是用什么码表示的,然后再看是否已是规格化数,如果不是,将尾数小数点移位,但要注意,为保持浮点数的真值不变,阶码一定要进行相应的调整。在解答此类题目时,一定要注意题目条件中给出的阶码和尾数是用什么码表示的,否则很容易出错,而得不到正确的计算结果。
针对本题,对所给机器码1110 0010 1000 0000,按所规定的浮点数表示形式,可知阶码为1110(最高位为阶符1),尾数为0010 1000 0000(最高位为尾符0)。
0.0101B= 010100B=20。?① 若阶码为移码,1110表示为十进制数加6,尾数为原码表示加0.0101B,所以浮点数为26
② 0.101B,阶码-3的补码为1101,因为浮点数规格化要求尾数最高数据位为有效数据位,即尾数绝对值大于等于0.5。?0.0101B=2-3?0.0101B=0.000101B=0.078125D。将此浮点数用规格化数形式表示:2-2?若阶码为补码,1110表示为十进制数减2,尾数为补码,因该尾数为正数,即加0.0101,该浮点数为2-2
2.某计算机主存按字节摘取cache的地址变换采用组相联映像方式(即组内全相联,组间直接映像)。高速缓存分为2组,每组包含4块,块的大小为512B,主存容量为1MB。构成高速缓存的地址变换表相联存储器容量为 (2) bit。每次参与比较的存储单元为 (3) 个。
(2) A.4×10
B.4×11
C.8×10
D.8×11
(3) A.2