计算机组成原理下溢出问题

怎么通过浮点数移码判断下溢呢,能不能举个例子、
图片说明

这是书上说的,但是没例子,我看不懂

我用十进制数给你举个例子吧
有两个数x、y(x和y都用科学计数法表示,并且两个数都保留4位有效数字),其中
x=0.2344 * 10^-2,y=0.1342 * 10^-4
求x+y,计算结果保留4位有效数字
由于x,y的阶数不同,所以无法直接相加,为了保存数据的准确性,阶数小的向阶数大的看齐
于是y=0.001342 * 10^-2,
得出x+y=0.235742 * 10^-2,
这时就需要损失精度,舍弃0.000042 * 10^-2来保证结果,舍弃的部分就是向下溢出。
不知道你能不能懂,表达能力有限,我觉得我还是讲的比较清楚了。

首先看最简单的
如何判断一个2位10进制有符号整数下溢?
显然就是<-99
浮点数也是一样的,只是浮点数能表示的最细小的数(不是最小的数,-999...99是最小的数,0.0000...0001是最细小的数)是
(最小尾数) 的 -最大阶码次方
因此可以得知,当解码(可以把阶码看作一个整数),当这个数作为一个有符号的数,它超过最小值的时候,就下溢了。

右规指的是尾数部分右移一位,阶码加一:当尾数相加减大于1时,需要把尾数调整到小于一,故右移一位(除二),阶码加一(乘2);
而浮点数判断是否溢出看的是阶码,这部分上溢与定点加法相同。
所以右规和溢出这两个概念没关系,书中说的是先右规再根据阶码判断,而不是通过右规来判断。相关可参考这个链接
另外在定点数和阶码的表示中,无法通过数值本身是否越界来判断(因为越界的数没法表示),只能通过运算后的符号位变化来判断,因此不能说的超过最小值就是下溢。