一研为定,万山无阻!
文章目录
浮点数的表示
-
阶码反映 数值大小
-
尾数反映 数值精度
-
阶码 E :常用补码或移码表示的定点整数 (因为:阶码只能表示整数哈)
-
尾数 M :常用原码或补码表示的定点小数
注意 : 正数 原补码 不变
- 补码转原码方法 : 符号位不变 其余每位取反然后加 1
浮点数规格化
- 当计算机存储不下时,会发生精度损失
左规: 即为将尾数最高的无效位省去,向左减一(阶码减一)
- 注意:采用(双符号位),当溢出发生时,可以挽救。更高的符号位是正确的符号位。
规格化浮点数的特点
原码表示尾数的规格化
- 注意: 画红线 处必定为
1
,因为 类似于科学计数法 首位必须为1
- 规格化的原码尾数,最高数值位定是1
补码表示尾数的规格化
- 注意: 符号位与数值第一位 必须相异
- 规格化的补码尾数,符号位与最高数值位一定相反
例题:
答案 :0.011 , 1.0100000
总结
IEEE 754
移码
-
移码:补码的基础上将符号位取反。注意:移码只能用于表示整数
-
移码的定义 : 移码 = 正值 + 偏置值
-
偏置值一般取
2^(n-1)
,此时 移码=补码符号位取反
注意 : 偏置值 也可以 取其他值 2^(n-1) - 1
上图 规律为 上次移码 向下 移一格
IEEE754 标准
- 注意 : 阶码 8 位 表示的正常范围
-126 ~ 127
因为全 1 与 全 0 用于特殊用途
长短浮点数计算正值
例子 🌰
- 十进制转二进制
- 十六进制 -> 二进制 --> 十进制
最小绝对值与最大绝对值
-
单精度
-
双精度
阶码全0与1的特殊用途
- 阶码 全为 0 的情况
- 阶码 全 为 1 的特殊情况
总结
浮点数的运算
加减运算
- 1、对阶
- 2、尾数相加
- 3、规格化
- 4、舍入
- 5、判溢出
阶数对齐的策略 : 阶数小向阶数更大的数对齐
例子
-
0、如果格式不同,需要转换格式
-
1、对阶 : 判断大小的方法,两个数的阶码相减
-
即为另外一个数包括符号位取反 再 加 1
eg : 上面 11011
与 11100
2、3、4 尾数加减与规格化
5、判溢出
- 判断阶码是否溢出 : 双符号位 +1 ,看看是否改变