4. 第2章-原码反码补码ppt课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果数字部分不足(n 1)位,则高位补0,补足 至(n 1)位
大学计算机基础
5
.
原码
❖ 原码举例 8位二进制编码 真值:X = + 101
Y = 1010 [ Y ]原 = 10001010
原码:[ X ]原 = 00000101
若真值中数字个数(不含高位0)多于(n-1),则不能 用n位原码编码
补码加法运算中不区分数符和数字,即符号位也
参与加法计算
大学计算机基础
16
补码
❖ 补码运算举例(用5位二进制补码表示数) A=+1011, B= - 0010, 求A-B [A-B]补= [A]补 + [-B]补 [A]补=01001110,1[1-B]补=00010,
+) 00010 01101
A-B=+1101
大学计算机基础
13
补码
❖ 补码举例—— 给出下列数的原码、反码、补码(8位)
X = + 1101 [ X ]原 = 00001101 [ X ]反 = 00001101 [ X ]补 = 00001101
Y = 1110
[ Y ]原 = 10001110
[ Y ]反 = 11110001
大学计算机基础
反码如何转换成原大码学计?算机基础
9
❖正数:相同;负数:数值按位取反
❖ 反码的性质
反码
反码表示
❖若x = + x1x2 ⋯ xn-1 ,则[x]反= 0x1x2 ⋯ xn-1
反❖码若的x =表-示x1范x2围⋯与x原n-1码,相则同—[x—]—反= 1x1x2 ⋯ xn-1
❖0有两种表示形式
[ + 00 ⋯0 ]反= 000 ⋯0 [ - 00 ⋯0 ]反= 111 ⋯1 ❖表示范围:-(2n-1-1) ≤ X ≤ (2n-1-1)
= 10110
如何判断 溢出?
[ Y1 ]补 + [ Y2 ]补 = 10101负+溢出
10100
大学计算机基础
20
本讲核心知识点
❖ 码制 ❖ 原码、反码、补码 ❖ 补码运算 [ X+ Y]补 = [X ]补 + [Y ]补
[ X- Y ]补 =[X ]补 + [-Y]补
符号位参与运算 忽略进位 注意溢出
14
[ Y ]补 = 11110010
补码
唯一表示:00…0
表示范围
定义为:-2n-1
❖0的表示-?2n-1 ≤ X ≤ (2n-1-1)
❖100…0是谁的补码呢?
❖范围?
已❖知对补于码正(数-,2n原-1除码外数)值,部如分何与获补即得码,原为数再码什值做?么部一?分次相补同 ❖对于负数,符号为1,数值部分
❖如 X=+10101010
数值0对应的8位二进制原n位码原是?码的表示范围:
+0:00000000
-(2n-1-1) ≤ X ≤ (2n-1-1)
大学计算机基础
6
-0:10000000
.
原码
❖ 原码运算
A=+ 0001,B=+0110,求 A+B
要A=对+ 1符01号1,位B和= 数-11值10绝,对求值A+大B小进行判断
大学计算机基础
第2章 计算机基本信息表示
任小广 计算机学院611教研室
1
上讲回顾
❖ 2.1 进制 2.1.1 进制的概念 2.1.2 二进制、八进制和十六进制 2.1.3 进制转换
❖ 2.2 二进制运算的物理实现 ❖ 2.3 计算机数值表示 ❖ 2.4 字符编码
大学计算机基础
2
主要内容
❖ 2.1 进制 ❖ 2.2 二进制运算的物理实现 ❖ 2.3 计算机数值表示
大学计算机基础
11
反码运算
❖ 举例
X=+1001, Y= - 1011, 求X+Y [X+Y]反 =[X]反+ [Y]反
= 01001+10100 = 11101 故 X+ Y = - 0010
反码未在计算机中 实际使用,仅是一
种过渡码制
X=+1001, Y = - 0101, 求X+ Y
[X+ Y]反 =[X]反+[Y]反 = 01001+11010
一种直观方法:减1再按位取反
另一种方法:按位大学取计算反机基再础加1
15
.
补码
❖ 补码运算 补码表示法可以简化加法运算,并且可以将减法 变成加法[ X+ Y]补 = [X ]补 + [Y ]补 [ X- Y ]补 =[X ]补 + [-Y]补
采用补码进行加减法运算,在计算机中只需要一 套实现加法运算的线路,从而简化了计算机内部 硬件电路的结构
反码运算
❖符号位可以参加运算,无需对符号位和绝对 值进行计算(比大学原计算码机基简础 单),但仍存在问题 10
反码运算
• 用反码进行[ X运+算Y时],反=两数[X反]反码+的[Y和]等反于两数和的反
码
[ X- Y ]反= [X ]反+ [ -Y]反
• 符号位也参加运算,当符号位产生进位时,需要循 环进位,即把符号位的进位加到和的最低位上去
2n11n11反码运算符号位可以参加运算无需对符号位和绝对值进行计算比原码简单但仍存在问题与原码相同10反码运算用反码进行运算时两数反码的和等于两数和的反码符号位也参加运算当符号位产生进位时需要循环进位即把符号位的进位加到和的最低位上11反码运算举例x10010100110100111010010x1001010011101000011有进位循环进位001000100反码未在计算机中实际使用仅是一种过渡码制12补码补码的表示符号部分同原码数的最高位为符号位0表示正数1表示负数数值部分与它的符号位有关对于正数补码数值部分与原码数值部分相同对于负数补码数值部分是将原码数值部分按位取反再加1即在反码数值部分基础上加1加1是整体加1不是每一位都加113补码补码举例给出下列数的原码反码补码8位1111001014补码表示范围0的表示
有符号整数的0/1编码 ❖<符号部分><数值部分> ❖不同的码制有不同的特点 表示范围,计算方便
大学计算机基础
4
原码
❖ 原码——最直观的二进制整数编码
共n位 <符号部分> <数值部分>
最高位对符号部分进行编码
❖用0表示“+”,用1表示“-”
剩下的(n 1)位对数值部分进行编码
❖编码与二进制数的数字部分相同
大学计算机基础
19
.
补码
❖ 补码运算(用5位二进制补码表示数)
需要考虑符号位的溢出问题,即运算结果超出了 机器能表示数的范围
❖X1 = + 1101,X2 = + 1001 正溢出 ❖Y1 = 1011,Y2 = 1100
❖[ 求X1X1]补+ +X2[,X2Y]1补+=Y201101 + 01001
大学计算机基础
8
<符号部分反>码<数值部分>
符号部分同原码,即数的最高位为符号位,用0 表示正数,用1表示负数
数值部分与它的符号位有关
❖对于正数,反码与原码相同
❖对于负数,反码数值是将原码数值按位取反
X = +1101 Y= -1101
[X]原 = 01101 [Y]原 = 11101
[X]反 = 01101 [Y]反 = 10010
大学计算机基础
24
Байду номын сангаас
谢谢!
大学计算机基础
25
[A-B]补=01101
大学计算机基础
17
补码
❖ 补码运算举例(用5位二进制补码表示数) A=+1011, B= - 1110, 求A+B [A+B]补= [A]补 + [B]补 [A]补=01001110,1[1B]补=10010,
+) 10010 11101
A+B=-11
[A+B]补=11101
[-a]原数值部分+ [-a]补数值部分=2n-1
[-a]补数 = 2n-1 - [-a]原数
[-[-a]补数]补数= 2n-1 大–学[计-算[-机a基]础补数]原数
22
n-1
.
补码:提高探讨
❖ 补码的深入理解(2)
为什么符号位可以参与运算,但忽略进位? ❖符号位参与运算,将补码补看码表做示无符真值号形无式符值号形式值
大学计算机基础
18
.
补码
❖ 补码运算(用5位二进制补码表示数)
不考虑符号位的进位问题
A=+1111, B= - 1101, 求A+B [[AA+]补B=]补01=10[1A11]1补,1[1B+][补B=]补10011,
为何可以 省略进位?
+) 10011 1 00010
A+B=+10
[A+B]补=00010
大学计算机基础
21
❖ 补码的深入补理解码(1:)提高探讨
已知补码(-2n-1除外),如何获得原码? 另一种方法:按位取反再加1
[[X]补]补=[X]原 ?
对于一个正数:a=an-2an-3…a1a0 ,(ai=0或1
) _ _ __
[-a]原数值部分= an-2an-3…a1a0
[-a]补数值部分= an-2an-3…a1a0+1
= 00011
(有进位)
1 (循环进位)
= 00100
故 X+ Y = + 0100
大学计算机基础
12
补码
❖ 补码的表示 符号部分同原码 ❖数的最高位为符号位,0表示正数,1表示负数 数值部分与它的符号位有关 ❖对于正数,补码数值部分与原码数值部分相同
❖对于负数,补码数值部分是将原码数值部分按 位取反再加1 ,即在反码数值部分基础上加1 加1是整体加1,不是每一位都加1
[X]补 = X mod 2n 因此,[A]补 + [-B]补 = A mod 2n + (-B) mod 2n
(若A,B>0)= A + (2n -B)
❖忽略进位,即对2n取模
(A + (2n -B) ) m大o学d计2算n机基础
23
n
纸质作业
❖ 第二章课后习题4、7、10、12 这周四(11.12)上课交
① A=01011 B=11110
③ 1110 -) 1011
做减法
0011
② |B| >|A| |B|-|A|
④[A+B] 原 =10011 A +B = -0011
大学计算机基础
7
原码
❖ 原码特点 优点 ❖简单直观,容易理解 缺点 ❖零的形式不唯一 ❖做加法和减法运算较为复杂,要对符号位和数 值的绝对值需大要小设进计行新判的断码制!
2.3.1 计算机码制 2.3.2 定点数和浮点数 ❖ 2.4 字符编码
大学计算机基础
3
2.3.1 计算机码制
❖ 计算机可以表示0和1,就可以表示二进制数了吗? 前讲回顾:0/1直接对应于二进制数字
(5.25)10=(101.01)2
但,数还包括正负符号和小数点 计算机码制:如何用0/1编码处理正负符号和小数点