浮点数加减运算

浮点运算要把阶码和尾数分别处理。

阶码运算定点整数运算,对阶码的运算四种:阶码加1,阶码减1,两阶码求和,两阶码求差。

尾数的运算是定点小数运算,运算过程中一般取双符号位

浮点运算器总是由处理阶码和处理尾数的两部分组成

浮点数的溢出(Overflow)

当一个数的大小超出了浮点数的表示范围时,机器无法表示该数,就发生溢出。浮点数的溢出判断方法与定点数不同,是对规格化数的阶码进行判断。

当浮点数的阶码大于机器所能表示的最大阶码时(即阶码发生正溢出),此时机器应停止运算,进行出错中断处理。

浮点数的尾数运算的溢出可以通过右规消除,所以不算溢出

当浮点数的阶码小于机器所能表示的最小阶码时(即阶码发生负溢出),这时一般规定把该浮点数的尾数强迫置零,作为零处理,机器可继续运行。

当一个浮点数的尾数为0,不论其阶码为何值,或者阶码的值小于等于都把该浮点数看成零值,称为机器零。

浮点加法运算

浮点数加减运算_第1张图片

1.对阶(Alignment)

浮点数加减运算_第2张图片

2.尾数相加(Mantissa)

完成对阶后,将两浮点数的尾数部分相加,方法与定点小数加法相同

3.规格化处理(Normalize the Result)

浮点数加减运算_第3张图片
对右移的两种情况做一下举例说明:
10,110 -> 11,011
01,110 -> 00,111

4.舍入操作(Rounding)

浮点数加减运算_第4张图片

5.检查阶码是否溢出(Check the Exponent Overflow or Underflow)

若阶码正常,加减运算正常结束;若阶码下溢,要置运算结果为浮点形式的机器零;若阶码上溢,则置溢出标志

例题

浮点数加减运算_第5张图片
浮点数加减运算_第6张图片

浮点数加减运算_第7张图片
浮点数加减运算_第8张图片

你可能感兴趣的:(计算机组成原理)