计组——浮点数加减运算
一、概念
1.对阶
小阶对大阶
将阶码小的尾数右移1位,阶码加1,直至两个数的阶码相等为止。
2.尾数求和
对阶后的尾数按定点数加(减)运算规则计算
3.规格化
- 当尾数求和的结果得到 10. × … … × 10. imes…… imes 10.×……×, 01. × … … × 01. imes…… imes 01.×……×即两符号位不相等,必须向右规格化;尾数右移1位,阶码加1; 需要右规时,只需进行一次;
- 当尾数求和结果 00.0 或 11. 1 需向左规格化; 尾数左移1位,阶码减1,直至尾数变为00.1 或 11.0;
规格化时,一定要注意阶码是否进行过计算
4.舍入
什么时候舍入? 当在对阶和尾数求和后的右规操作时,有1被移走,需要进行舍入操作
- 0舍1入:多余位的最高数位为0,直接去掉;多余位的最高数位为1,在剩余尾数的末位加1;
- 恒置1法:如果在规格化中因移位而丢失的位中有1,就把剩余尾数的末位置1;
- 截断法:直接截取所需尾数,丢弃后面的所有位;
5.溢出判断
判断浮点数是否溢出,不需判断尾数,判断阶码是否溢出即可;
如果阶码上溢"01",产生异常;如果阶码下溢"10",结果为0,阶码和尾数都置0。
二、例题
上一篇:
通过多线程提高代码的执行效率例子