1.4 定点数和浮点数(课件)-《计算机原理》(电工版第五版) 同步精品课堂
2025-10-30
|
25页
|
137人阅读
|
0人下载
精品
内容正文:
计算机原理
-第5课时-
电工版第五版
定点数和浮点数
教学目标
了解计算机中用二进制数表示实数的定点法和浮点法
掌握定点数的两种表示方法及范围
理解浮点数的概念、编码格式、取值范围、规格化及对阶操作
教学重难点
定点数的表示方法及范围
浮点数的概念、编码格式、取值范围
定点数和浮点数在实际应用中的选择
让我们一起开启单片机的学习之旅。
导入新课
在计算机中,可以通过定点法和浮点法用二进制数来表示实数
定点法和浮点法各有什么特点和应用场景呢?
视频中提到的浮点数的表示方法有哪些?
让我们一起开启计算机应用的学习之旅。
新知讲授
概述
计算机处理的 “实数” 涵盖整数(如 - 10、20)、纯小数(如 0.25、-0.75)和混合小数(如 3.125、-10.5),由于二进制数仅由 0 和 1 组成,需通过特定规则表示小数点位置,因此分为定点法和浮点法两种:
定点法(Fixed-Point Representation)
小数点位置固定不变,在硬件设计和软件编程中预先约定小数点的位置,无需额外存储小数点信息。
计算机中实数的表示方法
浮点法(Floating-Point Representation)
小数点位置随数值大小浮动,通过 “尾数”(表示有效数字)和 “阶码”(表示小数点偏移量)共同记录数值,需额外存储阶码信息
新知讲授
定点数的概念
定点数是指小数点的位置在计算机中被预先固定的数,其核心是 “通过约定位置,避免额外存储小数点信息”,根据小数点约定位置的不同,分为两种表示形式:
规定小数点固定在最高数值位之前,机器中能表示的所有数都是小数;
规定小数点固定在最低数值位之后,机器中能表示的所有数都是整数。
位置约定:小数点固定在 “符号位” 和 “最高数值位” 之间,结构为 “符号位。数值位”
数值类型:仅能表示纯小数(如 0.101B、-0.011B),无法表示整数或混合小数
定点法
定点小数(小数点在最高数值位之前)
定点整数(小数点在最低数值位之后)
位置约定:小数点固定在 “最低数值位” 之后,结构为 “符号位 数值位 . ”
数值类型:仅能表示整数(如 101B、-110B),无法表示纯小数或混合小数。
新知讲授
定点法 - 小数点在最高数值位之前
正数情况:符号位为 0,数值位全 1 时,数值为 0.111...1(n 个 1),二进制下该值接近 1(但小于 1,因无法达到 1);数值位全 0 时,数值为 0.000...0=0,因此正数范围为 0 < N < 1
负数情况:符号位为 1,数值位全 1 时,数值为 - 0.111...1(接近 - 1);数值位全 0 时,数值为 - 0.000...0=0,因此负数范围为 -1 < N < 0
综合范围:-1 < N < 1(N 为定点小数,n 为数值位位数)
定点法
新知讲授
定点法 - 小数点在最低数值位之后
正数情况:符号位为 0,数值位全 1 时,数值为 111...1B(n 个 1)= 2ⁿ - 1(十进制);数值位全 0 时,数值为 0,因此正数范围为 0 < N < 2ⁿ
负数情况:符号位为 1,数值位全 1 时,数值为 - 111...1B = -(2ⁿ - 1);数值位全 0 时,数值为 - 0=0,因此负数范围为 -2ⁿ < N < 0
综合范围:-2ⁿ < N < 2ⁿ(N 为定点整数,n 为数值位位数)
定点法
新知讲授
定点数的两种表示示例
示例 1:8 位定点小数(1 位符号位 + 7 位数值位,小数点在符号位与数值位之间)
符号位 (S) . 数值位 (D₆ D₅ D₄ D₃ D₂ D₁ D₀)
↓ ↓ ↓↓↓↓↓↓↓
0 . 1 0 1 0 0 0 0 → 0.1010000B = 0.625D(正数)
1 . 1 0 1 0 0 0 0 → -0.1010000B = -0.625D(负数)
定点法
关键说明
符号位 S=0 表正,S=1 表负;
数值位 D₆为最高数值位,D₀为最低数值位;
最大正数:0.1111111B = 127/128 ≈ 0.992D;
最小负数:1.1111111B = -127/128 ≈ -0.992D;
范围:-127/128 < N < 127/128(接近 - 1~1)。
新知讲授
定点法 - 比例因子及溢出问题
比例因子(Scaling Factor)是指在定点数表示中,为了让定点数能表示 “超出其原生范围的数值”(如用定点小数表示整数,或用定点整数表示小数),而预先设定的 “缩放倍数”。
其核心作用是通过 “放大 / 缩小原始数据”,将数据映射到定点数的表示范围内,运算后再通过比例因子恢复原始值。
溢出问题的解决方法:调整比例因子、扩展字长
定点法
新知讲授
浮点数的数学表达式
任意一个二进制实数 N(包括整数、小数、混合小数),都可以表示为N = ±d × 2ᵖ 的标准形式,各部分定义如下:
d(尾数,Mantissa):是二进制纯小数(0 <|d| < 1),表示数的 “全部有效数字”,决定浮点数的精度(尾数位数越多,有效数字越多,精度越高);
p(阶码,Exponent):是二进制整数(可正可负),表示 “2 的幂次”,决定小数点的位置(阶码为正,小数点右移;阶码为负,小数点左移);
±(数符,Sign):表示数的正负(正号可省略,负号需明确标注),与尾数共同决定数的整体符号。
浮点法
新知讲授
浮点数的编码格式
为了在计算机中存储浮点数,需将 “数符、阶码、尾数” 的二进制信息按固定格式排列,通用编码格式为(从高位到低位):
总位数 = 1(阶符 + m(阶码 + 1(数符)+ n(尾数)= m + n + 2 位;
各部分功能分工明确,确保计算机能快速解析出浮点数的数值。
浮点法
1 位阶符(Sₑ) + m 位阶码(E) + 1 位数符(Sₘ) + n 位尾数(M)
新知讲授
浮点数的取值范围
浮点数的取值范围由 “尾数的范围” 和 “阶码的范围” 共同决定,基于浮点数的标准形式 N = ±d × 2ᵖ:
尾数 d 的范围:0 < |d| < 1,且 d=0.M(M 为 n 位尾数,故 d 的最大值为 1 - 2⁻ⁿ,最小值为 2⁻ⁿ,因 M 最小为 000...1B=2⁻ⁿ);
阶码 p 的范围:-(2ᵐ - 1) ≤ p ≤ 2ᵐ - 1(m 为阶码位数,阶符 + 阶码决定);
因此,浮点数的绝对值 | N|=|d|×2ᵖ,其范围由 | d | 的极值和 p 的极值组合得到。
浮点法
新知讲授
规格化操作
规格化操作是指 “将非规格化浮点数转换为规格化浮点数的过程”,
核心逻辑是 “通过调整尾数的位置(左移或右移),使尾数满足规格化标准(0.5≤|d|<1),同时反向调整阶码,保证浮点数的数值不变”
规格化操作实例
浮点法
已知浮点数 N=+1.001×2⁻²(补码编码,n=4 位尾数),规格化过程如下:
判断非规格化原因:尾数 d=1.001B≥1,需右规;
右规操作:尾数右移 1 位→0.1001B(规格化),阶码加 1→-2+1=-1;
中间结果:N=+0.1001×2⁻¹(规格化);
若进一步左规(假设误操作):尾数左移 1 位→1.0010B(非规格化),阶码减 1→-1-1=-2,回到原始非规格化状态,验证 “移位与阶码调整的反向关系”。
新知讲授
浮点法 - 规格化浮点数
规格化浮点数是指 “尾数的有效数字最高位为非零值” 的浮点数,其核心目的是避免有效数字浪费,统一浮点数表示形式,提升数据精度。
规格化与非规格化的对比(以 n=4 位尾数(原码编码)为例)
浮点法
浮点数(N=±d×2ᵖ) 尾数 d(原码) 是否规格化 原因分析
+0.101×2³ 0.1010B 是 正数原码,最高位为 1,0.5≤0.1010B<1
-0.110×2⁻² 1.1100B 是 负数原码,数值位最高位为 1,
+0.011×2⁴ 0.0110B 否 最高位为 0,d=0.0110B<0.5,有效数字前有多余 0
-0.001×2⁵ 1.0010B 否 数值位最高位为 0,
新知讲授
浮点法 - 对阶操作
对阶操作是指 “在浮点数加减运算前,将两个浮点数的阶码调整为相等的过程”,其本质是 “通过调整尾数的位置,使两个浮点数的小数点对齐”(因浮点数的小数点位置由阶码决定,阶码相等意味着小数点位置相同)。只有小数点对齐后,才能像定点数一样直接对尾数进行加减运算(如 3.14×10² + 5.6×10³,需先将 3.14×10² 转换为 0.314×10³,使阶码均为 3,再相加尾数 3.14+0.314)。
浮点法
新知讲授
浮点法 - 对阶规则
两个规格化浮点数(N₁=±d₁×2^p₁,N₂=±d₂×2^p₂)加减前,必须执行 “小阶向大阶看齐” 的对阶规则,具体分三步:
比阶:计算阶差 Δp = |p₁ - p₂|,确定大阶(p 大)和小阶(p 小);
移尾:将小阶数的尾数右移 Δp 位(补码负数右移补 1,正数 / 原码补 0),确保尾数精度损失最小;
调阶:将小阶数的阶码更新为 p 大,此时两数阶码一致,完成对阶。
浮点法
新知讲授
定点数和浮点数的比较
浮点法
定点数适用场景:嵌入式系统(如智能手表计步,整数范围小)、传感器数据(如温度 ±50℃,用定点小数缩放)、简单控制逻辑(如灯光开关计数);
浮点数适用场景:科学计算(如气象预测,数值范围大)、3D 建模(如坐标值跨度大)、金融统计(如大额资金 + 小数利率)。
随堂检测1
若采用定点法,小数点在最高数值位之前,4 位数值部分能表示的最大正数是多少(二进制)?
答案:答案:0.111
简述浮点数规格化的作用。
答案:使浮点数表示更规范,提高数据表示的精度和效率。
练一练
随堂检测2
已知一个浮点数阶码为 3 位,尾数为 4 位,求其取值范围。
答案:2⁻⁴・2⁻(2³⁻¹) ≤ |N| ≤ (1 - 2⁻⁴)・2 (2³⁻¹)
两个规格化浮点数进行加法运算,对阶时应如何操作?
答案:将阶码小的数的尾数右移,阶码增大,直到与另一个数的阶码相等。
练一练
随堂检测3
定点法中 “上溢” 和 “下溢” 是如何产生的?
答案:计算过程中中间结果超过最大绝对值产生 “上溢”,小于最小绝对值产生 “下溢”。
浮点数编码格式中,阶符、阶码、数符、尾数分别有什么作用?
答案:阶符表示阶码的正负,阶码指明小数点的位置,数符表示数的正负,尾数指明数的全部有效数字。
练一练
随堂检测4
若一个浮点数尾数为 0.0101,要进行规格化,应如何操作?
答案:尾数左移 2 位,阶码减 2。
比较定点数和浮点数在表示范围和运算复杂度上的差异。
答案:定点数表示范围有限,运算简单;浮点数表示范围大,运算复杂。
练一练
师生互动
1
在实际的计算机应用中,如科学计算、嵌入式系统等,应如何选择定点数和浮点数表示方法?请分组讨论并说明理由。
课题小结
1. 定点法
定点数和浮点数
2. 浮点法
浮点数的概念
浮点数的编码格式
浮点数的取值范围
规格化浮点数
规格化操作
对阶操作
对阶规则
定点数的概念
小数点在最高数值位之前
小数点在最低数值位之后
比例因子及溢出问题
3. 定点数和浮点数的比较
谢谢观看
THANKS
Lavf58.46.101
$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。