浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5和7位(均含2位符号位)。若有两个数x=27*29/32,y=25*5/8,则用浮点加法计算x+y的最终结果是()。
- A.001111100010
- B.001110100010
- C.010000010001
- D.发生溢出
正确答案及解析
正确答案
D
解析
由于Y的阶码较小,所以第一步对阶中需要将Y的阶码增加2,同时尾数向右移动两位,得到Y=27×5/32。第二步尾数相加,29/32+5/32=34/32。第三步规格化,由于尾数34/32>1,尾数溢出,需要进行右规,同时调整阶码,所以尾数右移一位调整为17/32,阶码加1,等于8。最后一步判溢出,题目中已知阶码位数5位(含2位符号位),最大值为7,此时阶码超过了最大值,所以发生了浮点数的溢出。