题目
●计算机中16位浮点数的表示格式如图1所示:0 3 4 15-|||-阶码 尾数-|||-图1某机器码为1110001010000000。若阶码为移码且尾数为反码,其十进制真值为 (8) ;若阶码为移码且尾数为原码,其十进制真值为 (9) ;若阶码为补码且尾数为反码,其十进制真值为 (10) ;若阶码为补码且尾数为原码,其十进制真值为 (11) ,将其规格化后的机器码为 (12) 。 (8) A.0.078125 B.1.45 C.20 D.20.697395 (9) A.0.078125 B.1.45 C.20 D.20.697395(10) A.0.078125 B.1.45 C.20 D.20.697395(11) A.0.078125 B.1.45 C.20 D.20.697395(12) A.1110001010101000 B.11110101000101 C.11110001010100 D.1101010100000000
●计算机中16位浮点数的表示格式如图1所示:

某机器码为1110001010000000。
若阶码为移码且尾数为反码,其十进制真值为 (8) ;
若阶码为移码且尾数为原码,其十进制真值为 (9) ;
若阶码为补码且尾数为反码,其十进制真值为 (10) ;
若阶码为补码且尾数为原码,其十进制真值为 (11) ,将其规格化后的机器码为 (12) 。
(8) A.0.078125
B.1.45
C.20
D.20.697395
(9) A.0.078125
B.1.45
C.20
D.20.697395
(10) A.0.078125
B.1.45
C.20
D.20.697395
(11) A.0.078125
B.1.45
C.20
D.20.697395
(12) A.1110001010101000
B.11110101000101
C.11110001010100
D.1101010100000000

某机器码为1110001010000000。
若阶码为移码且尾数为反码,其十进制真值为 (8) ;
若阶码为移码且尾数为原码,其十进制真值为 (9) ;
若阶码为补码且尾数为反码,其十进制真值为 (10) ;
若阶码为补码且尾数为原码,其十进制真值为 (11) ,将其规格化后的机器码为 (12) 。
(8) A.0.078125
B.1.45
C.20
D.20.697395
(9) A.0.078125
B.1.45
C.20
D.20.697395
(10) A.0.078125
B.1.45
C.20
D.20.697395
(11) A.0.078125
B.1.45
C.20
D.20.697395
(12) A.1110001010101000
B.11110101000101
C.11110001010100
D.1101010100000000
题目解答
答案
C,C,A,A,D
【解析】本题考查计算机数据的编码,涉及原码[1]、补码、反码和移码以及浮点数规格化[2]处理。同一个数可以有不同的浮点表示形式,阶码的大小可以用来调节数值中小数点的位置。将数值数据[3]表示成N=M*RE,M被称为N的尾数,E是N的指数或称阶码,而R是该阶码的基数。题中阶码用4位二进制[4]整数1110表示,尾数用12位二进制小数001010000000表示,尾数中含有符号位,其最高位即符号位为0。下面具体解答各个问题。(8)如果阶码为移码,由于阶码是4位二进制整数,设真值为X,根据整数移码定义:[X]移码=23+X=(1110)2=(14)10,可此求得阶码真值为6。如果尾数为反码,从符号为可判断尾数是正数,根据小数反码定义,正小数的反码就是其自身,可求得尾数的真值为:(0.01010000000)2=(2-2+2-4)=(0.3125)10,根据浮点数定义,该机器码真值为0.3125*26=20。(9)如果阶码为移码,同上,真值为6。如果尾数是原码,从符号位可判断尾数是正数,根据小数原码定义,正小数的原码就是其本身,可求得尾数的真值位0.3125。这样该机器码的真值也是20。(10)如果阶码为补码,由于阶码是4位二进制整数,从符号位判断为负数,设真值为X,根据负整数定义[X]补码=24+x=(1110)2=(14)10,求得阶码的真值为-2。如果尾数为反码,同问题(8)一样求出尾数的真值为0.3125。这样,该机器码真值为0.3125*2-2=0.078125。(11)如果阶码是补码,尾数是原码,可分别参照问题(10)和问题(9)求出阶码和尾数的真值分别为-2和0.3125这样该机器码的真值也是0.078125。(12)这是对浮点数进行规格化处理。规定浮点数的尾数部分用纯小数形式表示,当尾数的值不为0时,其绝对值应大于或等于0.5,用二进制表示为0.1xxx…xx(x为0或1)。对于不符合这一规定的浮点数。可采用改变阶码的大小并同时左右移尾数的方法来满足这一规定。显然尾数0.01010000000不符合要求,应左移1位,而阶码则相应地减1,因此规格化处理后的阶码为1101,尾数为010100000000。
【解析】本题考查计算机数据的编码,涉及原码[1]、补码、反码和移码以及浮点数规格化[2]处理。同一个数可以有不同的浮点表示形式,阶码的大小可以用来调节数值中小数点的位置。将数值数据[3]表示成N=M*RE,M被称为N的尾数,E是N的指数或称阶码,而R是该阶码的基数。题中阶码用4位二进制[4]整数1110表示,尾数用12位二进制小数001010000000表示,尾数中含有符号位,其最高位即符号位为0。下面具体解答各个问题。(8)如果阶码为移码,由于阶码是4位二进制整数,设真值为X,根据整数移码定义:[X]移码=23+X=(1110)2=(14)10,可此求得阶码真值为6。如果尾数为反码,从符号为可判断尾数是正数,根据小数反码定义,正小数的反码就是其自身,可求得尾数的真值为:(0.01010000000)2=(2-2+2-4)=(0.3125)10,根据浮点数定义,该机器码真值为0.3125*26=20。(9)如果阶码为移码,同上,真值为6。如果尾数是原码,从符号位可判断尾数是正数,根据小数原码定义,正小数的原码就是其本身,可求得尾数的真值位0.3125。这样该机器码的真值也是20。(10)如果阶码为补码,由于阶码是4位二进制整数,从符号位判断为负数,设真值为X,根据负整数定义[X]补码=24+x=(1110)2=(14)10,求得阶码的真值为-2。如果尾数为反码,同问题(8)一样求出尾数的真值为0.3125。这样,该机器码真值为0.3125*2-2=0.078125。(11)如果阶码是补码,尾数是原码,可分别参照问题(10)和问题(9)求出阶码和尾数的真值分别为-2和0.3125这样该机器码的真值也是0.078125。(12)这是对浮点数进行规格化处理。规定浮点数的尾数部分用纯小数形式表示,当尾数的值不为0时,其绝对值应大于或等于0.5,用二进制表示为0.1xxx…xx(x为0或1)。对于不符合这一规定的浮点数。可采用改变阶码的大小并同时左右移尾数的方法来满足这一规定。显然尾数0.01010000000不符合要求,应左移1位,而阶码则相应地减1,因此规格化处理后的阶码为1101,尾数为010100000000。