--真题--
02、浮点数的表示分为阶和尾数两部分。两个浮点数相加时,需要先对阶,即( )(n为阶差的绝对值)。
A. 将大阶向小阶对齐,同时将尾数左移n位
B. 将大阶向小阶对齐,同时将尾数右移n位
C. 将小阶向大阶对齐,同时将尾数左移n位
D. 将小阶向大阶对齐,同时将尾数右移n位
知识点:
浮点加减运算
浮点数的表示: X = Mx * 2Ex
其中Mx为该浮点数的尾数,Ex为阶码。
浮点数加减运算:五个步骤
(1) 对阶:使两数的小数点位置对齐,即比较两个浮点数的阶码值的大小.求△E=Ex-Ey。当其不等于零时,首先应使两个数取相同的阶码值。其实现方法是,将原来阶码小的数的尾数右移|△E|位,其阶码值加上|△E|,即每右移一次尾数要使阶码加1,则该浮点数的值不变(但精度变差了)。尾数右移时,对原码形式的尾数,符号位不参加移位,尾数高位补0;对补码形式的尾数,符号位要参加右移并使自己保持不变。为减少误差,可用另外的线路,保留右移过程中丢掉的一到几位的高位值,供以后舍入操作使用
(2)尾数求和:实现尾数的加(减)运算,对两个完成对阶后的浮点数执行按定点加减运算规则求和(差)操作。
(3) 规格化处理,若得到的结果不满足规格化规则,就必须把它变成规格化的数,对双符号位的补码尾数来说,就必须是001××…×或110××…×的形式。这里的规格化处理规则是:a当结果尾数的两个符号位的值不同时,表明尾数运算结果溢出。此时应使结果尾数右移一位,并使阶码的值加1,这被称为向右规格化,简称右规。b当尾数的运算结果不溢出,但最高数值位与符号位同值,表明不满足规格化规则,此时应重复地使尾数左移、阶减减1,直到出现在最高数值位上的值与符号位的值不同为止,这是向左规格化的操作,简称左规。
(4) 舍入操作。在执行对阶或右规操作时,会使尾数低位上的一位或多位的数值被移掉,使数值的精度受到影响,可以把移掉的几个高位的值保存起来供舍入使用。舍入的总的原则是要有舍有入,而且尽量使舍和入的机会均等,以防止误差积累。常用的办法有"0"舍"1"入法,即移掉的最高位为1时 则在尾数末位加1;为0时则舍去移掉的数值。该方案的最大误差为2-(n+1)。这样做可能又使尾数溢出,此时就要再做一次右规。另一种方法 "置1"法,即右移时,丢掉移出的原低位上的值,并把结果的最低位置成1。该方案同样有使结果尾数变大或变小两种可能。即舍入前尾数最低位已为0,使其变1,对正数而言,其值变大,等于最低位入了个1。若尾数最低位已为1,则再对其置1无实际效用,等于舍掉了丢失的尾数低位值。
(5) 判结果的正确性,即检查阶码是否溢出。浮点数的溢出是以其阶码溢出表现出来的。在加减运算真正结束前,要检查是否产生了溢出,若阶码正常,加(减)运算正常结束;若阶码下溢,要置运算结果为浮点形式的机器零,若上溢,则置溢出标志。
答案及解析
答案:D
解析:浮点数加减运算包括对阶、尾数运算、规格化、舍入和判溢,对阶就是使两数的阶码相等,对阶的原则是小阶向大阶看齐,即阶码小的数尾数右移,每右移一位,阶码加1,直到两数的阶码相同。
记录人:小魏哎
软件设计师2018上半年真题练习记录
时间:20181016
-注-
资料来源:《计算机组成原理》(第2版)
点此欢迎光临我的个人网站【一几文星球】
微信公众号,欢迎关注,一起学习。