–本篇后面计算部分待纠正。因为右移时是否采用舍入的策略,需要仔细考量。不特别提出,是不是右移时简单的截断即可?
Update : 研究了其他习题的做法,不强调右移时如何舍入时,直接丢掉,算术右移,丢失精度。在补码移位中,有左零右一的说法,即左移:低位补0,右移:高位补1.
首先要说的是:浮点运算中的下溢指的是:运算结果的绝对值小于机器数所能表示的最小绝对值。
再看告知浮点数的格式,最大值问题:
设浮点数共12位,其中阶码含1位阶符共4位,以2为底,补码表示。尾数含一位数符共8位,补码表示,规格化。该浮点数所能表示的最大正数是?
解答:首先,我们马上可以构想出补码最大时的样子,因为和原码一样,是0.1111111…1形式。
这里呢,尾数含数符共8位,所以是0.1111111(7个1) , 我做的时候没有计算,直接认为是 2−2(−7 )
实际上稍微算一下:
2−1+2−2+…+2−7=2−1⋅(2−7−1)/(2−1−1)=1−2−