00111 1100010
00111 0100010
01000 0010001
发生溢出
解析:
X的浮点数格式为00,111;00,11101(分号前为阶码,分号后为尾数),Y的浮点数格式为00,101;00,10100。然后根据浮点数的加法步骤进行运算。
第一步:对阶。X、Y阶码相减,即00, 111-00, 101=00, 111+11, 0111=00, 010,可知X的阶码比Y的价码大2(这一步可直接目测)。根据小阶向大阶看齐的原则,将Y的阶码加2,尾数右移2位,将Y变为00, 111;00, 00101。
第二步:尾数相加。即00, 11101+00, 00101=01, 00010,尾数相加结果符号位为01,故需右规。
第三步:规格化。将尾数右移1位,阶码加1,得X+Y为01, 000;00, 10001。
第四步:判溢出。阶码符号位为01,说明发生溢出。
本题容易误选选项B、C,这是因为选项B、C本身并没有计算错误,只是它们不是最终结果,选项B少了第3第4步,选项C少了第4步。
【偷懒法】本题也可以直接用数学知识对原数进行计算,然后将计算的结果转换成浮点数的格式。X+Y=29/32×27+5/8×25=29/32×27+5/32×27=(29/32+5/32)×27=34/32×27=17/32×28,阶码用补码表示,数值位3位,最大只能表示7,即X+Y的结果的阶码8超出了该浮点数的表示范围,故溢出。“你在做题时有想到这种方法么?”
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
解析:
X的浮点数格式为00,111;00,11101(分号前为阶码,分号后为尾数),Y的浮点数格式为00,101;00,10100。然后根据浮点数的加法步骤进行运算。
第一步:对阶。X、Y阶码相减,即00, 111-00, 101=00, 111+11, 0111=00, 010,可知X的阶码比Y的价码大2(这一步可直接目测)。根据小阶向大阶看齐的原则,将Y的阶码加2,尾数右移2位,将Y变为00, 111;00, 00101。
第二步:尾数相加。即00, 11101+00, 00101=01, 00010,尾数相加结果符号位为01,故需右规。
第三步:规格化。将尾数右移1位,阶码加1,得X+Y为01, 000;00, 10001。
第四步:判溢出。阶码符号位为01,说明发生溢出。
本题容易误选选项B、C,这是因为选项B、C本身并没有计算错误,只是它们不是最终结果,选项B少了第3第4步,选项C少了第4步。
【偷懒法】本题也可以直接用数学知识对原数进行计算,然后将计算的结果转换成浮点数的格式。X+Y=29/32×27+5/8×25=29/32×27+5/32×27=(29/32+5/32)×27=34/32×27=17/32×28,阶码用补码表示,数值位3位,最大只能表示7,即X+Y的结果的阶码8超出了该浮点数的表示范围,故溢出。“你在做题时有想到这种方法么?”