单选题 x=-0.875×2 1 ,y=0.625×2 2 ,设用7位浮点数来表示,格式见下表:
浮点数的格式
阶符 阶码 符号位 尾数
1bit 2bit 1bit 3bit
其中,阶码用原码表示,尾数用补码表示,基数为2,那么求出z=x-y的二进制浮点数规格化结果是______。
【正确答案】 B
【答案解析】[解析] 解法一:
0.875=0.5+0.25+0.125,则x的原码为1.111,补码为1.001;
0.625=0.5+0.125,则-y的原码为1.101,补码为1.011;
因为x的阶数为1,y的阶数为2,所以要进行对阶,保留y的阶数2,把x的尾数右移一位,阶数变为2。(x是负数,右移补1)。于是右移后的x尾数为1.100。
相加:1.100+1.011=10.111,结果出现溢出(符号位进位和最高数位的进位异或结果为1),需要右规:将结果右移一位,得到1.011。同时阶码变为3,表示为11,最终得到0111011。
故选B。
解法二:
写出x和y的十进制表示,算出十进制的z,将其转换为规格化的浮点数即可。
x-y=-4.25。
-4.25=0.53125×23,可知尾数的绝对值在1/2和1之间,符合规格化数的要求,阶码即为11。
-0.53125=-(0.5+0.3125),则对应的二进制原码表示为1.10001,补码为1.01111,由于数值位只有三位表示,取1.011。
综上得到0111011,选B。