首页 > 试题广场 >

题目来源于王道论坛 浮点数加、减运算过程一般包括对阶、

[单选题]
题目来源于王道论坛
浮点数加、减运算过程一般包括对阶、尾数运算、规格化、舍入和判溢出等步骤。设浮点数的阶码和尾数均采用补码表示,且位数分别为5位和7位(均含2位符号位)。若有两个数X=27×29/32,Y=25×5/8,则用浮点加法计算X+Y的最终结果是()。
  • 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超出了该浮点数的表示范围,故溢出。“你在做题时有想到这种方法么?”

发表于 2018-09-03 20:52:05 回复(0)
一脸懵逼,两脸懵逼...n脸懵逼
发表于 2018-11-26 21:04:23 回复(0)
选与众不同的
发表于 2019-03-30 23:11:51 回复(0)