返回目录《计算机组成原理笔记目录(2019 王道考研)》
2.3 浮点数的表示与运算
本节主要内容
1.基本格式
2.规格化
3.表示范围
4.IEEE754标准
5.浮点数的加减运算
6.浮点数的强制类型转换
1.基本格式
2.规格化
规定尾数的最高数位必须是一个有效值
1.左规
当浮点数运算的结果为非规格化时,要进行规格化处理
将尾数左移一位,阶码-1(基数为2时)
2.右规
当浮点数运算结果尾数出现溢出(双符号位为01或10)时,
将尾数右移一位,阶码+1(基数为2时)
3.浮点数的加减法
必须按照以下几步进行
1.对阶,使两位的小数点位置对齐
2.尾数求和
3.规格化,为了增加有效数字的位数,提高运算精度,必须将求和(差)后的尾数规格化
4.舍入,为了提高精度,要考虑尾数右移时丢失的数值位
5.溢出判断
4.规格化浮点数的特点
3.表示范围
负数上溢和正数下溢可以当做机器0(阶码部分负溢出)
4.IEEE754标准(重点)
1.几个注意点:
1.阶码用移码表示,不需要阶符
2.尾数中有一个隐藏表示的最高位1
3.因为有这个隐藏的最高位1,故阶码用移码表示时的偏置量与一般的移码的偏置量不同
需要一般移码的偏置量-1后,即可得到此标准的移码的偏置量
即:标准的移码的偏置量=一般移码的偏置量-1
4.临时浮点数基本不会考,看一下就行
2.此标准表示浮点数还有一些规定:
通过这些规定,此标准就可以表示正无穷、负无穷、0还有NAN
3.IEEE754的取值范围(正常范围内分析,即:1<=E<=254)
4.IEEE754 32位完整取值范围示意图
5.浮点数的加减运算
1.步骤:
0.真值到机器数的转换
1.对阶
2.尾数加减
3.规格化
规格化之前的溢出不是真溢出,规格化之后还溢出才是真溢出
4.舍入
”0“舍”1“入法
恒置“1”法
5.溢出判断(详见课本)
阶码上溢:需要进行中断处理
阶码下溢:按机器0处理
2.示例
6.浮点数的强制类型转换
1.无损类型转换
1.char -> int -> long -> double
2.float -> double
2.无符号数和有符号数
3.int<-->float的精度和表示范围
int -> float:可能损失精度
float -> int;可能溢出及损失精度