第2章(1)微机原理与接口技术(第三版)(王忠民)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
OF=CF∨DF (或OF=CF⊕DF) 若OF=1说明结果溢出;若OF=0说明结果不溢出。
2.1 数字在计算机中的表示和运算
例2.13 设有两个操作数x=01000100B,y=01001000B, 将这两个操作数送运算器做加法运算,试问:
① 若为无符号数,计算结果是否正确? ② 若为带符号数,计算结果是否正确?
十六进制数: 以后缀H或h表示十六进制数(Hexadecimal)。
2.1 数字在计算机中的表示和运算
二、带符号数的表示
1. 机器数与真值
通常,把一个数及其符号位在机器中的一组二进制数表示形 式称为“机器数”。机器数所表示的值称为机器数的“真值”。
2. 机器数的表示方法
机器数通常有:原码、反码和补码表示法。其符号(正负号) 用一位二进制数来表示,(“0”表示正,“1”表示负),放在 最高位。
决定数的正负即可由原码求出真值。
二. 补码转换为真值 要求补码的真值,也要先求出补码对应的原码。 正数的原码与补码相同。 负数的原码可在补码基础上再次求补,即:
[ [X]补 ]补=[ X ]原
注:负数的边界值除外
2.1 数字在计算机中的表示和运算
例2.10 已知[x]补=00001111B,[y]补=11100101B, 求x和y。
微机原理与接口技术
西安邮电大学计算机学院 董梁
第二章 计算机中数制和编码(第一讲)
本章主要内容
1 数字在计算机中的表示和运算 2 信息在计算机中的表示和运算
2.1 数字在计算机中的表示和运算
一、无符号数的表示 在计算机中对于无符号数分为二进制数、十进制数和
十六进制数等。
二进制数: 以后缀B或b表示二进制数(Binary)。 十进制数: 以后缀D或d表示十进制数(Decimal),该后缀可以省略。
11100001 +) 00001101
11101110
无符号数 225
+) 13 238
带符号数 [-31]补
+) [+13]补 [-18]补
2.1 数字在计算机中的表示和运算
4. 溢出及其判断方法 (1) 进位与溢出
进位:用来判断无符号数运算结果是否超出了计算 机所能表示的最大范围,是指运算结果的最高位向更高 位的进位。
③ 补码定义:假设字长为n,则
[X]补=
X 2n
-|X|
0≤X ≤ 2n-1-1 -2n-1≤X<0
;X为正数 ;X为负数
2.1 数字在计算机中的表示和运算
由上可知,正数的原码、反码和补码表示是相同的,而其负 数的原码、反码和补码是有区别的,补码等于反码末位加1。
例题:求X=-5的原码, 例题:求X=-128的原码,反码 反码和补码,设字长n为8。 和补码,设字长n为8。
2.1 数字在计算机中的表示和运算
① 原码定义:假设字长为n,则
[X]原=
X 2n-1+|X|
0≤X≤ 2n-1-1 ;X为正数 -(2n-1-1)≤X≤0 ;X为负数
② 反码定义:假设字长为n,则
[X]反=
X 2n-1-|X|
0≤X ≤ 2n-1-1 ;X为正数 -(2n-1-1)≤X≤0;X为负数
[X]原=1000 0101B [X]反=1111 1010B [X]补=1111 1011B
[X]原 超出表示范围 [X]反 超出表示范围 [X]补=2n-|X|=28-|-128|
=1000 0000B
2.1 数字在计算机中的表示和运算
一.原码转换为真值 根据原码定义,将原码数值位各位按权展开求和,由符号位
十进制十加进法制加法 ++6666
+) 00+11) 10100101 11[+0151][补-51]补
-+)) ++5151
自动丢失01111 001001 11[+1117[]+补15]补
+1+5117
2.1 数字在计算机中的表示和运算
计算机中带符号数用补码表示时有如下优点:
① 可以将减法运算变为加法运算,因此可使用同一个运算 器实现加法和减法运算,简化了电路。 ② 无符号数和带符号数的加法运算可以用同一个加法器实 现,结果都是正确的。
2.1 数字在计算机中的表示和运算
例2.11 已知 [+51]补=0011 0011B,[+66]补=0100 0010B, 求 [+66]补+[+51]补=?[+66]补-[+51]补=?
[+66]补 - [+51]补= [+66]补+[-51]补 解: [-51]补 = 1100 1101B
二进二制进(制补(码补)码加)法加法 0100 00011000 0[0+1066]补[+ 66]补
号位一同参加运算,加减法可以统一为加法运算。运算时 要注意字长、数值范围及溢出判断。
ቤተ መጻሕፍቲ ባይዱ
感谢
谢谢,精品课件 资料搜集
解:
[x]原= [x]补=00001111B,
x = + (026+025+024+123+122+121+120) = 15
[y]原=[[y]补]补=10011011B,
y = - (026+025+124+123+022+121+120) = - 27
2.1 数字在计算机中的表示和运算
补码运算的规则为: ① [X]补+[Y]补=[X+Y]补 两数补码的和等于两数和的补码 ② [X]补-[Y]补=[X]补+[-Y]补=[X-Y]补 两数补码的差等于两数差的补码
溢出:用来判断带符号数运算结果是否超出了计算 机补码所能表示的范围,是指带符号数的补码运算结果 的溢出。
2.1 数字在计算机中的表示和运算
(2) 溢出的判断方法
微型计算机中判断带符号数补码运算的溢出常采用 “单符号位法”判别法。假设用OF表示溢出,用CF表示 最高位(符号位)的进位,用DF表示次高位(数值部分最 高位)的进位,则有
【解】 ∵
01000100 + 01001000
10001100 DF=1 CF=0
无符号数 68
+ 72 140
带符号数 [+68]补
+ [+72]补 [+140]补
2.1 数字在计算机中的表示和运算 小结
一、无符号数的数制表示 重点要掌握二进制、十进制、十六进制数的表示方法,
及其相互转换。
二、带符号数的加减运算及溢出判断 带符号数是以补码形式进行加减运算的。其特点是符
相关文档
最新文档