1.3 有符号二进制数的表示方法及溢出问题 (课件) 《计算机原理》(电工版第五版) 【上好课】
2026-07-21
|
37页
|
21人阅读
|
0人下载
精品
资源信息
| 学段 | 中职 |
| 学科 | 职教专业课 |
| 课程 | 计算机原理 |
| 教材版本 | 计算机原理(第五版)电工版全一册 |
| 年级 | 高一 |
| 章节 | 1.3有符号二进制数的表示方法及溢出问题 |
| 类型 | 课件 |
| 知识点 | 有符号二进制数的表示方法及溢出问题 |
| 使用场景 | 同步教学 |
| 学年 | 2026-2027 |
| 地区(省份) | 全国 |
| 地区(市) | - |
| 地区(区县) | - |
| 文件格式 | PPTX |
| 文件大小 | 27.59 MB |
| 发布时间 | 2026-07-21 |
| 更新时间 | 2026-07-21 |
| 作者 | 爱学习的muller |
| 品牌系列 | 上好课·上好课 |
| 审核时间 | 2026-07-21 |
| 下载链接 | https://m.zxxk.com/soft/58906901.html |
| 价格 | 5.00储值(1储值=1元) |
| 来源 | 学科网 |
|---|
内容正文:
有符号二进制数的表示方法及溢出问题
计 算 机 原 理
-第4课时-
(电工版第五版)
学习目标
掌握原码、反码、补码的定义及表示方法,深入理解有符号数在计算机中的编码规则,同时清晰理解运算溢出的概念及产生条件。
能够熟练完成有符号数与真值之间的相互转换操作,在进行二进制算术运算时,能准确分析并判断运算结果是否出现溢出情况。
在探究底层编码与运算的过程中,培养严谨、缜密的逻辑思维习惯,逐步建立起对计算机底层数据运算与处理机制的系统认知与整体观念。
1
2
3
知识目标
技能目标
素养目标
目录
有符号数的表示
有符号数的转换与求值
有符号数运算的溢出问题
课堂总结与典型习题解析
教学引入
思考:时钟的指针从6拨到2,可以两种操作方式。
逆时针拨动4下
顺时针拨动8下
这两种方式是等价的,按照逆时针为负顺时针为正的话,在时钟拨动的案例中,+8 是-4以 12 为模的补数。
生活中的“模”现象:时钟的奥秘
知识讲授
补数
模(或称模数)是一个数值计量系统的计量范围,记作mod或M。
只要确定了“模”,就可找到一个与负数等价的正数来代替此负数,该正数就是负数的补数。
超出计量范围的数都应该自动舍去模数
【举例】
6+13=19三7(mod 12)
有符号数的表示
第一部分
知识讲授
有符号数
知识讲授
有符号数
有符号数是针对二进制来讲的。用最高位作为符号位,“0"代表”+",“1"代表”-" ;其余数位用作数值位,代表数值。
有符号数的表示:计算机中的数据用二进制表示,数的符号也只能用0/1表示。一般用最高有效位(MSB)来表示数的符号,正数用0表示,负数用1表示。
知识讲授
数的机器码表示
原码是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
原码
1、在计算机系统中,数值一律用补码来表示(存储)。 主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补 码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。 2、补码与原码的转换过程几乎是相同的。
补码
反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和文件的默认权限的设置umask,就是使用反码原理。
反码
知识讲授
原码表示
最高位为符号位(0代表正数,1代表负数),其余位直接表示数值的二进制绝对值,是最贴合人类思维的编码方式。
▍实例演示 (8位二进制)
正数:[+7]原 = 0000 0111
负数:[-7]原 = 1000 0111
知识讲授
补码的表示
知识讲授
反码的表示
知识讲授
原码、反码、补码的对比
模块1 背诵表
序号 核心考点 记忆要点与核心解析
01 原码与反码 原码是“符号位+绝对值”,数字0有+0和-0两种表示;反码对正数同原码,负数则对数值位按位取反。
记忆:反码是原码的“数值翻转”,是计算补码的中间过渡形式。
02 补码计算规则 正数的补码与原码完全相同;负数的补码是其“反码加1”。这是计算机中存储负数的实际方式。
核心:补码的出现解决了减法转加法的运算难题,是计算机运算的基础。
03 8位补码范围 范围是 -128 ~ +127。对比原码/反码,补码多表示了一个最小负数-128。
考点:这是考试高频易错点,需牢记“不对称”特性及具体数值边界。
师生互动
原码与反码基础例题解析
例题 1:已知十进制数为 +5 和 -5,请写出它们的 8 位二进制原码。
例题 2:基于例题 1 的结果,请进一步写出 -5 的 8 位二进制反码。
💡 思考:回忆符号位的定义,正数与负数的编码规则有何不同?
【参考答案】[+5]原 = 00000101,[-5]原 = 10000101;[-5]反 = 11111010
【原理解析】原码的最高位为符号位,0代表正数,1代表负数,其余位为数值的绝对值;负数的反码是对其原码(除符号位外)的各位取反,即0变1,1变0,而正数的反码与原码完全相同。
师生互动
01
综合题:为什么计算机中普遍采用补码进行运算?
引导思考:请结合“0的表示唯一性”与“减法转加法”两个角度分析。补码如何解决了原码/反码的符号位计算弊端?它又是如何简化硬件设计,让加减法运算能共用一套电路实现的?
有符号数的转换与求值
第二部分
知识讲授
有符号数的转换与求值
知识讲授
8位二进制代码的编码含义对照
01 核心案例:二进制 10000000 的多重身份
同一个8位二进制串,在不同编码规则下代表截然不同的数值含义。这揭示了计算机底层存储与逻辑解释的分离特性。
01 无符号数
值为:128
所有位均为数值位,无正负之分,直接映射为十进制大小,常用于表示地址或计数。
02 原码表示
值为:-0
最高位是符号位(1为负),其余为数值位。存在+0和-0的表示歧义,是最直观的编码方式。
03 反码表示
值为:-127
符号位不变,数值位按位取反。主要作为求补码的中间过渡,同样存在正负零的问题。
04 补码表示
值为:-128
计算机实际存储的编码,消除了正负零歧义,最高位兼具符号与数值功能,简化了减法运算。
💡 关键认知:计算机硬件仅存储二进制比特流,它本身不具备“含义”。具体代表什么数值,完全由程序员编写的软件规则(编码约定)来定义和解析。
知识讲授
转换规则
01 负数转换:原码→补码
已知负数的原码,符号位保持不变,对数值位按位取反后末位加1,即得补码。
02 逆向转换:补码→原码
补码还原为原码,遵循与正向转换完全一致的规则:符号位固定,数值位取反加1。
03 求补操作:减法变加法
对[X]补连同符号位整体取反加1,得到[-X]补。
知识讲授
原码、补码、反码和移码的转换
知识讲授
原码与补码的转换
在转换原码到补码时候,原码的符号位保持不变,将原码的数值为皆按位取反,之后再在末位+1,即刻得到补码。
知识讲授
原码与补码的转换(示例练习)
将一个真值的补码全部位按位取反并末位加1即刻得到该真值的负数的补码。
补码转换速记
序号 核心名称 说明与记忆要点
01 原码转补码 符号位保持不变,仅对数值位按位取反后末位加1。核心口诀:“符号不动,数值取反加1”,正数补码与原码一致。
02 补码转原码 操作规则与“原码转补码”完全相同:符号位不变,数值位取反加1。记忆技巧:正向反向转换逻辑一致,无需额外记忆新规则。
03 求补操作(相反数) 对补码的“符号位+数值位”整体按位取反,再末位加1,得到该数相反数的补码。核心:包含符号位一起操作,是实现减法转加法的关键。
04 补码求真值 正数补码即本身;负数补码需先整体“取反加1”还原为原码,再将数值位转十进制并添加负号。核心:负数补码需逆向还原原码再计算。
课题练习
原码与补码互转基础运算
01. 已知原码求补码
题目:若机器数的原码表示为 [X]原 = 10110100,请计算其补码 [X]补。
02. 已知补码求原码
题目:若机器数的补码表示为 [X]补 = 11101110,请计算其原码 [X]原。
【例题1 答案】[X]补 = 11001100
解析:符号位保持不变(仍为1),对数值位“0110100”按位取反得到“1001011”,再加1后得到“1001100”,最终组合为补码11001100。
【例题2 答案】[X]原 = 10010010
解析:符号位保持不变(仍为1),对数值位“1101110”按位取反得到“0010001”,再加1后得到“0010010”,最终组合为原码10010010。
课堂练习
简答题
对真值0具有唯一表示形式的机器数(机器码)是( )。
A.原码 B.补码和反码
C.移码和补码 D.以上都不对
C
解析:
有符号数运算的溢出问题
第三部分
知识讲授
有符号数运算的溢出问题
知识讲授
溢出定义
在运算过程中如出现大于字长绝对值的现象,称为“溢出”。
之所以发生错误,是因为运算结果产生了溢出。两个正数相加,结果大于机器字长所能表示的最大正数,称为正溢。两个负数相加,结果小于机器所能表示的最小负数,称为负溢。
知识讲授
溢出条件判断
溢出的发生条件
并非所有运算都会溢出,仅发生在两种场景:一是两个同符号数相加,二是两个异符号数相减。这两类运算极易突破数值的表示极值,是产生溢出的核心诱因。
▍判断依据:双高位进位监测机制
通过监测两个关键进位信号来判定溢出:
•Cₙ(最高位进位):两个数的符号位相加后产生的进位,反映符号位的运算情况。
•Cₙ₋₁(次高位进位):两个数的数值最高位相加后产生的进位,反映数值部分的运算情况
★ 核心判定规则:若 Cₙ ≠ Cₙ₋₁,则加法运算发生溢出。
•场景一(上溢):正数 + 正数 = 负数→ Cₙ=0,Cₙ₋₁=1(数值位进位使符号位变1)。
•场景二(下溢):负数 + 负数 = 正数→ Cₙ=1,Cₙ₋₁=0(符号位进位使符号位变0)。
知识讲授
溢出条件判断示例
例1:设 A = 11,B = 7,求 A+B
双符号位“01”不同,判溢出!最高符号位“0”,代表结果为正。
例2:设 A = - 11,B = - 7,求 A+B
双符号位“10”不同,判溢出!最高符号位“1”,代表结果为负。
背诵记忆
序号 核心名称 说明与记忆要点
01 溢出概念 指运算结果超出数值类型表示范围,导致符号位错误。核心记忆:本质是“范围超限”,会改变结果的正负属性,是有符号数运算特有的异常。
02 加法溢出判定 同号数相加时,若最高位进位(Cn)与次高位进位(Cn-1)不同则溢出。核心记忆:“同号相加,异出为溢”,即两个进位结果不一致,就代表发生了溢出。
03 减法溢出判定 将减法转为“被减数 + 减数的补码”后,复用加法溢出判定规则;或直接记:异号数相减时,若双高位进位不同则溢出。核心记忆:减法转加法,判定逻辑完全一致。
随堂练习
例题分析-基础
例题 1:若使用8位二进制补码表示整数,判断算式 (+72) + (+98) 的运算结果是否发生溢出?
例题 2:若使用8位二进制补码表示整数,判断算式 (-83) + (-80) 的运算结果是否发生溢出?
💡 核心思路:回顾补码加法溢出规则——“两个同符号数相加,结果的符号位与原数不同,则发生溢出”。
【例题 1 解答】结论:发生溢出。
解析:两正数相加,按补码规则计算结果为10101010(符号位为1,代表负数)。正数相加结果为负,符号位冲突,符合溢出判定条件。
【例题 2 解答】结论:发生溢出。
解析:两负数相加,按补码规则计算结果为01011101(符号位为0,代表正数)。负数相加结果为正,符号位冲突,判定为溢出。
拓展深化
补码的符号位扩展
图示:CPU内部的运算器(ALU)通常固定为32位或64位。当处理8位或16位数据时,必须先进行位扩展,补码的符号位复制机制为此提供了最高效的解决方案。
01. 核心规则:符号位的“复制填充”
将短字长补码扩展为长字长时,直接将原数的**符号位**向高位逐位复制。正数的符号位是0,高位补0;负数的符号位是1,高位补1。此规则能保证数值在扩展前后完全一致。
02. 实例演示:8位 → 16位扩展
以十进制数 -90 为例:
• 8位补码:1010 0110(最高位为符号位1)
• 16位扩展:1111 1111 1010 0110(高位全部填充符号位1)
扩展后数值仍为 -90,完美适配16位寄存器的存储需求。
03. 核心价值:简化硬件设计
这种无需计算的扩展方式,避免了复杂的逻辑转换电路,让CPU在进行算术运算前可快速对齐数据位宽,是补码成为计算机数值表示主流标准的重要原因之一。
知识小结
课后任务
布置作业:
1. 绘制原码、反码、补码三类编码的思维导图。
2. 完成课后练习题:将十进制数±5、±19、±31分别转换为8位原码、反码、补码。
3. 计算:(+45)+(+78)和(-45)+(-78),判断是否溢出并说明原因。
4. 整理8位补码取值范围-128~127的记忆方法。
谢谢观看
THANKS
Lavf59.14.100
Lavf59.14.100
Lavf59.14.100
$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。