问题
单项选择题
若浮点数的阶码用移码表示,尾数用补码表示。两规格化浮点数相乘,最后对结果规格化时,右规时的右移位数最多为()位。
A.1
B.2
C.尾数位数
D.尾数位数-1
答案
参考答案:A
解析:
本题考查浮点数的规格化知识。
一个数的浮点形式(设基数为2)可以表示为:N=M×2E,其中:M代表尾数,E代表阶码。浮点数的精度由尾数的尾数决定,数的表示范围由阶码的位数决定。
为了最大限度地使用计算机的精度,充分利用尾数的位数表示有效数据,浮点数采用规格化形式。规格化对尾数的限制是:1/2≤1|M|<1。
所以,规格化浮点数的尾数的取值范围为:
[1/2]补≤|M|补<[1]补,或[-1]补≤|M|补<[-1/2]补
那么,将两个尾数相乘,积的取值范围为:
[1/4]补≤|M积|补<[1]补,或[-1]补≤|M积|补<[-1/2]补
浮点运算后,若结果的尾数的绝对值大于等于1时要右规,右规时尾数右移一位,阶码加1;若结果的尾数的绝对值小于1/2时要左规,左规时尾数左移一位,阶码减1。所以,本题中右规时的右移位数最多是1位。