1.1.4 浮点数表示
📝 学习目标
- 掌握浮点数表示格式:
尾数 × 基数^阶码 - 分清“阶码决定范围、尾数决定精度”的考点
- 理解浮点数加减的基本流程:对阶 → 尾数运算 → 规格化(格式化)
- 会按题干给定的位宽/码制估算可表示范围
🎯 核心结构(课堂口径)
浮点数一般写成:
R:基数(二进制中 R=2,不需要存储)E:阶码(指数,常用移码表示,便于比较)M:尾数(有效数字,常用补码/原码表示)
课堂强调:软设主要考“结构与意义、对阶逻辑”,不太考真正算出完整加法结果。
✅ 必背结论
- 阶码位数越多 → 表示范围越大
- 尾数位数越多 → 有效精度越高
记忆法:
- 阶码像“放大镜倍数”(能放到多大/缩到多小)
- 尾数像“刻度精细度”(能精确到多少位)
🧠 浮点加减:对阶逻辑(软设高频)
1) 为什么要对阶
两个数阶码不同,不能直接“尾数+尾数”。必须先把它们变成同一指数。
2) 对阶规则(课堂原话提炼)
- 小数向大数看齐(把小的阶码调到大的阶码)
- 阶码增大时,为保持数值不变:尾数要相应右移
- 有符号尾数右移要保持符号位:算术右移
3) 三步流程
- 对阶:让两个阶码相等(通常把小阶码增大)
- 尾数运算:同阶后再做尾数加/减
- 规格化(格式化):把尾数调整到规定范围(常见要求:二进制尾数绝对值落在 [0.5, 1))
🔑 关键词解释
- 阶符/数符:一些题型会把阶码符号位(阶符)和尾数符号位(数符)单独列出来。
- 对阶:让阶码一致。
- 算术右移:右移时高位补符号位(保持正负不变)。
- 规格化:调整尾数,使其满足“有效位位置”约定。
🔍 联想扩展(考试内容延伸)
1) IEEE 754(软设一般只考概念)
- 单精度:1位符号 + 8位指数 + 23位尾数
- 指数用偏置(移码思想):bias=127
- 指数越大,表示范围越大;尾数越长,精度越高
2) “移码”的常见偏置值
- 若指数位数为 k(不含单独阶符的题型),常见 bias = 2(k-1) - 1
注意:软设范围题常“按题干给的位段”直接套补码/移码范围,不要想当然用 IEEE754。
🧪 例题(按难度)
简单(3题)
例题1(概念题:范围/精度)
浮点数能表示的数值范围主要由( )决定;能表示的有效精度主要由( )决定。
对阶时若将某个浮点数的阶码增大(指数变大),为了保持数值不变,其尾数应如何变化?
浮点数加/减运算的一般流程是:
中级(3题)
例题2(对阶规则)
以下关于两个浮点数相加的叙述中,正确的是:
两浮点数相加前需对阶:若 `E1=10`、`E2=7`,按“小数向大数看齐”的规则,需要把阶码较小的那个数的尾数右移多少位?
IEEE 754 单精度浮点数的指数采用偏置(移码思想)表示,其偏置值(bias)是:
困难(1题)
例题3(范围题:按题干位段推范围,课堂例题风格)
设 16 位浮点数格式为:阶符 1 位、阶码 6 位、数符 1 位、尾数 8 位。
- 阶码(指数部分)用 移码 表示(此处按题干:指数总位数=阶符+阶码=7 位)
- 尾数(纯小数)用 补码 表示(数符+尾数=9 位定点小数)
问:该浮点数可表示的数值范围(近似写法)最合理的是:
选择最合理的范围表达式:
📚 本课小结
- 浮点数:
尾数×基数^阶码 - 阶码位数决定范围;尾数位数决定精度
- 加减流程:对阶(小数向大数看齐)→ 尾数运算 → 规格化