
2019/9/8 微机技术与仪器系统设计 ·本章主要内容 一概述 一数制和编码 一徽机系统的组成、分类和配置 第一章微型计算机基础 一徽处理器 §1-1概述 发展概况 ·第一台电子计算机ENIAC(Electronic 堡 Numerical Integrator And Computer) 一电子数字积分计算器 甜轨臀代兵品修寄离稳影键 -1946年 ,占地面积170平方米,30个操作台,6000多个开关 后度一鹿人然资6筹 30,耗电量150千瓦,造价48万美元。每秒执行 5000次加法或400次乘法。 1
2019/9/8 1 微机技术与仪器系统设计 第一章 微型计算机基础 1 • 本章主要内容 – 概述 – 数制和编码 – 微机系统的组成、分类和配置 – 微处理器 2 §1-1 概述 • 第一台电子计算机ENIAC(Electronic Numerical Integrator And Computer) – 电子数字积分计算器 – 1946年 – 占地面积170平方米,30个操作台, 6000多个开关, 重30吨,耗电量150千瓦,造价48万美元。每秒执行 5000次加法或400次乘法 。 3 发展概况 • 第一阶段(1971~1973年)是4位或8位低档微处理器和 微型计算机时代,其典型的产品是Intel 4004 Intel 8008 微处理器以及由它们组成的MCS-4和MCS-8微型计算机。 • 第二阶段(1974~1978年)是8位中高档微处理器和微型 计算机时代,其典型产品是Intel公司的8080/8085等微处 理器。 • 第三阶段(1978~1984年)是16位微处理器和微型计算 机时代,其典型产品是Intel公司的8086/8088及80286等 微处理器。 4 1 2 3 4

2019/9/8 发展概况 发展概况 2 62等 额叠醉隆年凳辕然精 基本概念 计算机分类 巨型机:功能最强、速度最快、款硬件配套齐备、价 ·徽计算机(MC或μC): 格最贵 -CPU+内存+/O接口+箱助电路 一大中型机 一小型机 ·徽处理器(MP、P或CPU: ·一徽型机:以微处理器为茂心,配上存储器、输入轴出 一运算器+控制器 获口电略及统总所租成的计算机。 一计算机内部对数据进行处理并对处理过程进 儿一单片机:把徽处理喜、一定容量的存储恶以及袖入输 行控制的部件 出接口电略等乘成在一一个芯片上
2019/9/8 2 发展概况 • 第一阶段(1971~1973年)是4位或8位低档微处理器和 微型计算机时代,其典型的产品是Intel 4004 Intel 8008 微处理器以及由它们组成的MCS-4和MCS-8微型计算机。 • 第二阶段(1974~1978年)是8位中高档微处理器和微型 计算机时代,其典型产品是Intel公司的8080/8085等微处 理器。 • 第三阶段(1978~1984年)是16位微处理器和微型计算 机时代,其典型产品是Intel公司的8086/8088及80286等 微处理器。 • 第四阶段(1985~1992年)是32位微处理器和微型计算 机时代,其典型产品是Intel公司的80386/80486等微处 理器,以及相应的IBM PC 兼容机,如386、486等。 5 发展概况 • 第一阶段(1971~1973年)是4位或8位低档微处理器和 微型计算机时代,其典型的产品是Intel 4004 Intel 8008 微处理器以及由它们组成的MCS-4和MCS-8微型计算机。 • 第二阶段(1974~1978年)是8位中高档微处理器和微型 计算机时代,其典型产品是Intel公司的8080/8085等微处 理器。 • 第三阶段(1978~1984年)是16位微处理器和微型计算 机时代,其典型产品是Intel公司的8086/8088及80286等 微处理器。 • 第四阶段(1985~1992年)是32位微处理器和微型计算 机时代,其典型产品是Intel公司的80386/80486等微处 理器,以及相应的IBM PC 兼容机,如386、486等。 • 第五阶段(1993年以后)是奔腾系列处理器和奔腾系列 微型计算机时代,其典型产品是Intel 公司的Pentium。 6 • 计算机分类 – 巨型机:功能最强、速度最快、软硬件配套齐备、价 格最贵 – 大中型机 – 小型机 – 微型机:以微处理器为核心,配上存储器、输入输出 接口电路及系统总线所组成的计算机。 – 单片机:把微处理器、一定容量的存储器以及输入输 出接口电路等集成在一个芯片上 7 基本概念 • 微计算机(MC或μC): – CPU+内存+I/O接口+辅助电路 • 微处理器(MP、 μP或CPU): – 运算器+控制器 – 计算机内部对数据进行处理并对处理过程进 行控制的部件 8 5 6 7 8

2019/9/8 §1-2计算机的数制和编码 2计算机的数制和编码 一信息在计算机中的表示形式 常用名词术语 ·计算机的基本功能是进行敏据和信息的处理。 一个二进制位是计算机中信息表示的最小单位。 ·数据、信惠以及为处理这些数据和信惠而辅写的 -例:1010B就有4个二进例位。 程序代码等都必须输入到计算机中。 字节:相邻的8个二进制位。 由于电子器件客易实现对两种状态的表示,因此 -例:10110110B为一个字节 计算机中的数宇、宇符和霜令等一般那使用二进 字:计算机内部进行教据传递、处理的基本单位,在PC 制铺码来表示 撒机中常把一个字定义为16位,即2个字节。 -例:0111101011101100B即为一个字。 10 。三、无符号数的表示和运算 (一)无符号数的表示方法 常用名词术语2 ·双字(Double Word):32位,4个字节,是32位徽计算 ·1.十进制数的表示方法 机的字长。 ·十进制计数法的特点是: 四字(Quad Word):64位,8个字节,是32位撤处理攀 的双倍精度字。 ·①逢十进一; 双四字(DQW):128位,16个字节。 ·②使用10个摄字符号(0,12.,9)的不同组合来表示 一个十进制敢: ·③以后量D或d表示十进制墩(⊙ocimal),但该后最可 以省略。 11 3
2019/9/8 3 • 计算机的基本功能是进行数据和信息的处理。 • 数据、信息以及为处理这些数据和信息而编写的 程序代码等都必须输入到计算机中。 • 由于电子器件容易实现对两种状态的表示,因此 计算机中的数字、字符和指令等一般都使用二进 制编码来表示 §1-2 计算机的数制和编码 ——信息在计算机中的表示形式 9 §1-2 计算机的数制和编码 • 位:一个二进制位,是计算机中信息表示的最小单位。 – 例:1010B就有4个二进制位。 • 字节:相邻的8个二进制位。 – 例:1011 0110 B为一个字节 • 字:计算机内部进行数据传递、处理的基本单位。在PC 微机中常把一个字定义为16位,即2个字节。 – 例:0111 1010 1110 1100B 即为一个字。 常用名词术语 10 • 常用名词术语2 • 双字(Double Word):32位,4个字节,是32位微计算 机的字长。 • 四字(Quad Word):64位,8个字节,是32位微处理器 的双倍精度字。 • 双四字(DQW):128位,16个字节。 11 一、无符号数的表示和运算 • (一)无符号数的表示方法 • 1. 十进制数的表示方法 • 十进制计数法的特点是: • ① 逢十进一; • ② 使用10个数字符号(0,1,2,.,9)的不同组合来表示 一个十进制数; • ③ 以后缀D或d表示十进制数(Decimal),但该后缀可 以省略。 12 9 10 11 12

2019/9/8 多师绵。青 在何-个什进制徽可表示为:N。=2D,x10 2.二进最的亵示方法 一 二进制计敷法的特点是 式中,表示小数位的位戴,表示整数位的位戴,D为第位 ①逢二进一1 上的敷符(可以是0十个数字符号中的任一个), ②使用2个数字符号(0,1)的不同组合来表示一个二进制数 ③以后瘢B或表示二进制撒(Binary)。 例1138.5D=1×102+3×10'+8×10°+5×10 14 套3.十大进制数的瘦示法 任有一个二进制徽可我示为:N,=分B×2 1.2) 十六进制计数法的神点是: 式中:m为小数位的位兼,为整数位的位数,B为第位上的数 ①施十六进一: 符(0成1)。 ②使用16个数字符号0.123,9,A,B,C,D,E,F的不同组 例21101.11B=1×23+1×22+0×2+1×20+1×21+1×22=13.75D 合米表示一个十大进制数,其中AF依次表示1015: 图以后鞭H或h表示十大进制数(日exadecimal) 6 4
2019/9/8 4 任何一个十进制数可表示为: 10 1 n i m i N D Di 式中:m表示小数位的位数,n表示整数位的位数,Di 为第i位 上的数符(可以是09十个数字符号中的任一个)。 例1 138.5(D)= 2 1 0 1 1 10 3 10 8 10 5 10 13 2. 二进制数的表示方法 二进制计数法的特点是: ① 逢二进一; ② 使用2个数字符号(0,1)的不同组合来表示一个二进制数; ③ 以后缀B或b表示二进制数(Binary)。 14 任何一个二进制数可表示为: 2 (1.2) 1 n i m i NB Bi 式中:m为小数位的位数,n为整数位的位数,Bi 为第i位上的数 符(0或1)。 例2 1101.11B= 1 2 1 2 0 2 1 2 1 2 1 2 13.75( ) 3 2 1 0 1 2 D 15 3. 十六进制数的表示法 十六进制计数法的特点是: ① 逢十六进一; ② 使用16个数字符号(0,1,2,3.,9,A,B,C,D,E,F)的不同组 合来表示一个十六进制数,其中AF 依次表示1015; ③ 以后缀H或h表示十六进制数(Hexadecimal)。 16 13 14 15 16

2019/9/8 对于盖激为X的任一数可用多项式表示为: 任何一一个十六进制数可表示为: NH= H,×16 =-n s.-Er 式中:X为基数,表示X进制,为位序号:m为小数部分位数: 例0E5AD.BF-14×6+5×162+10x16'+3×16°+11x16-+15×16 为整数部分的位敢:k,为第位上的数值,可以为加,1,2 =58797.74609 共X个数字符号中任一个。 十六进制计数法是为了克辰二进制计数法书写麻须而 二一)兼时之闻的装换 引入的一种进位计囊制; ·1.任意进制数转换为十进制撒 二进制、十大进制以至任意进制数转换为十进制数 ·在编写汇编语言源灌序时,如果一个十大进制数的录 的方法很简单,只要按式 高位为A甲中的一个数字符号时,被数前面必须加0, 以与变量名区别: N x k,x i-m 不论据以什么数制表示,最岭在计算机内部都将以 二进制形式表示。 各位按权展开(即该位的数值乘于该位的权)求和即可 19
2019/9/8 5 任何一个十六进制数可表示为: 16 1 n i m i N H Hi 例 0E5AD.BFH = 3 2 1 0 1 2 14 16 5 16 10 16 13 16 11 16 15 16 58797.74609 17 对于基数为X的任一数可用多项式表示为: 1 n i m i NX ki X 式中:X为基数,表示X进制;i为位序号;m为小数部分位数; n为整数部分的位数;ki 为第i位上的数值,可以为0,1,2,.,X-1 共X个数字符号中任一个。 18 • 不论数据以什么数制表示,最终在计算机内部都将以 二进制形式表示。 十六进制计数法是为了克服二进制计数法书写麻烦而 引入的一种进位计数制; •在编写汇编语言源程序时,如果一个十六进制数的最 高位为AF中的一个数字符号时,该数前面必须加0, 以与变量名区别; 19 • (二)数制之间的转换 • 1.任意进制数转换为十进制数 • 二进制、十六进制以至任意进制数转换为十进制数 的方法很简单,只要按式 各位按权展开(即该位的数值乘于该位的权)求和即可。 1 n i m i N X k i X 20 17 18 19 20

2019/9/8 。2十进制最转换成二进铜数 1)。整致部分的装换 除以基数(2)服余慰,先为低位(⑧,后为高位 下面通过一个简单的例子对转换方法进行分析。例如, 显然,该方法也适用于将十进制接数转换为八进制整激 13D=1101B=1×23+1×22+0×2+1×29 (基数为8)、十六进刺整藏(基数为16)以至其它在何进制 B,B:B,BB BBB 整数。 可见,要确定13D对应的二进制数,只需从右到左分确 定Bo,B,B2B即可. 21 22 、 2)小数部分的装换 例如, 小数部分乘以盖数(2)取整数(0或),先为高位(B,)后为 0.75D=0.1 1B=1×2-1+1×2-3 低位。 B.B:B-1 B3 显然,该方法也适用于将十进例小数转换为八进制小敷(基 数为8)、十六进制小敷(基敷为16)以至其它任何进制小数。 23 24 6
2019/9/8 6 2. 十进制数转换成二进制数 1).整数部分的转换 下面通过一个简单的例子对转换方法进行分析。例如, B3 B2 B1 B0 B3 B2 B1 B0 13 1 1 0 1 1 2 1 2 0 2 1 2 3 2 1 0 D B 可见,要确定13D对应的二进制数,只需从右到左分别确 定 B0 ,B1 ,B2 ,B3.即可。 21 除以基数(2)取余数,先为低位(B0 )后为高位 显然,该方法也适用于将十进制整数转换为八进制整数 (基数为8)、十六进制整数(基数为16)以至其它任何进制 整数。 22 2) 小数部分的转换 例如, B-1 B-2 B-1 B-2 1 2 0.75 0.1 1 1 2 1 2 D B 23 小数部分乘以基数(2)取整数(0或1),先为高位(B-1)后为 低位。 显然,该方法也适用于将十进制小数转换为八进制小数(基 数为8)、十六进制小数(基数为16)以至其它任何进制小数。24 21 22 23 24

2019/9/8 3。二进制数与十六进微之间的装换 因为2-16,即可用四位二进制数表示一位十六进制数,所 (三)二进制数的运算 以可得到如下述的二进制嫩与十大进制数之闻的转换方法。 1.二进制数的算术运算 将二进制数转换为十大进削激的方法:以小数点为界,向左 (1)加:0+0=00+1=11+0=11+1=0(进1) (整数部分)年四位为一组,高位不足4位时补0:向右(小数部 分)每四位为一组,低位不足4位时补0。然后分别用一个16进制 2)减0-0=01-1-010-10-1=1(借位) 数表示每一组中的4位二进制数。 3)乘:0x0-00x1=01×0=-01x1=1 将十大进制嫩转换为二进制嫩的方法:直接将每一位十大进 (④除:二进制除法是乘法的逆运算, 制数写成其对应的四位二进制数。 9 26 米2二进制最的混辑运填 (3)非*运算(N0T) 变量的“非”起算皓果用衰示。是舞“非”运算规则如下: 0n-00n1-010-01A1- 0=1 ī=0 只有当两个变量地为“"1“时,“与”的蜡果才为“1“, (4)异成”运算(KOR) (2)“求”运算(0R) “异戒”滋算可用符丹“”老示。据算领刚如下 “或”起算又称加,可用符“”成“+“表示。起算 0∀0=00∀1=11V0=111=0 则如下: -w1-110-11v-1 可以量出,两变透只要不用,"异取”运掌的的果城为"怎 两个变量只要有一个为“1“,"或”的蜡果蒙为“1 27 1
2019/9/8 7 3.二进制数与十六进制数之间的转换 因为2 4=16,即可用四位二进制数表示一位十六进制数,所 以可得到如下所述的二进制数与十六进制数之间的转换方法。 将二进制数转换为十六进制数的方法:以小数点为界,向左 (整数部分)每四位为一组,高位不足4位时补0;向右(小数部 分)每四位为一组,低位不足4位时补0。然后分别用一个16进制 数表示每一组中的4位二进制数。 将十六进制数转换为二进制数的方法:直接将每一位十六进 制数写成其对应的四位二进制数。 25 (三) 二进制数的运算 1. 二进制数的算术运算 (1) 加: 0+0=0 0+1=1 1+0=1 1+1=0(进1) (2) 减: 0-0=0 1-1=0 1-0=1 0-1=1(借位) (3) 乘: 00=0 01=0 10=0 11=1 (4) 除: 二进制除法是乘法的逆运算。 26 2. 二进制数的逻辑运算 (1) “与“运算(AND). “与”运算又称逻辑乘,可用符号“” 或“”表示。运算规则如下: 00=0 01=0 10=0 11=1 只有当两个变量均为“1”时,“与”的结果才为“1”。 (2) “或”运算(OR) “或”运算又称逻辑加,可用符号“”或“+”表示。运算规 则如下: 00=0 01=1 10=1 11=1 两个变量只要有一个为“1”,“或”的结果就为“1”。 27 (3) “非”运算(NOT) 变量的“非”运算结果用表示。逻辑“非”运算规则如下: (4) “异或”运算(XOR) “异或”运算可用符号“ ”表示。运算规则如下: 可以看出,两变量只要不同,“异或”运算的结果就为“1”。 0 1 1 0 00 0 01 1 10 1 11 0 28 25 26 27 28

2019/9/8 二、带符号数的表示与运算 例A=11110101B,B=00110000B,求 (一)机服数与真值 AAB=?AvB=?AVB=?4=?B=? 为了区别正数和负数,通常用二进制数的最高位表示数的 符号。对于一个字节型二进制数来说,D,位为符号位,D。一D 位为敷值位。在符号位中,规定用“0”表示正,“1“表示负, 10i0▣ 而教值位表示该数的数值大小, 00110000 把一个数及其符号位在机器中的一组二进制数表示形式, 称为“机器数”,机器数所表示的值称为该机器数的“真值”。 30 人 (二)机器数的表示方法 例如,当机器字长=8时, 1原码 +0.=00000000B -02”740(定义计算,下)=10000000E 设数的腻码记作心g,如机幕字长为,则原离定义如下, +81R-00001000B I-81=248=10001000B x 0≤x≤2-1 +127-0111111B H272+127=11111111B [原= 当机舞字长=16时, 2+x -(2-1)≤x≤0 I+01.=0000000000000000B -0-25+0=1000000000000000B 在原科表示法中,最高位为符号位(正数为0,负数1), +81-0000000000001000B -8-215+8=1000000000001000B 其余数字位表示数的绝对值。 +3276710111111111111111Bk3276712+32767-11111111111B 32 8
2019/9/8 8 例 A=11110101B, B=00110000B,求 A B ? A B ? AB ? A ? B ? 1 1 1 1 0 1 0 1 0 0 1 1 0 0 0 0 29 二、带符号数的表示与运算 (一) 机器数与真值 为了区别正数和负数,通常用二进制数的最高位表示数的 符号。对于一个字节型二进制数来说,D7 位为符号位,D6D0 位为数值位。在符号位中,规定用“0”表示正,“1”表示负, 而数值位表示该数的数值大小。 把一个数及其符号位在机器中的一组二进制数表示形式, 称为“机器数”。机器数所表示的值称为该机器数的“真值”。 30 (二) 机器数的表示方法 1. 原码 设数x的原码记作[x] 原,如机器字长为n,则原码定义如下: 2 | | (2 1) 0 0 2 1 [ ] 1 1 1 x x x x x n n n 原 在原码表示法中,最高位为符号位(正数为0,负数为1), 其余数字位表示数的绝对值。 31 例如,当机器字长n=8时, [+0]原=00000000B [-0]原=27+0(按定义计算,下同)=10000000B [+8]原=00001000B [-8]原=27+8=10001000B [+127]原=01111111B [-127]原=27+127=11111111B 当机器字长n=16时, [+0]原=0000000000000000B [-0]原=215+0=1000000000000000B [+8]原=0000000000001000B [-8]原=215+8=1000000000001000B [+32767]原=0111111111111111B [-32767]原=215+32767=1111111111111111B 32 29 30 31 32

2019/9/8 年 多位二法原来示减的有调为721化二进制我示 的范圆为-32767+32762*0矿的累离有两种表示法:00000000表示+0, 10000000表示4, 设数的反码记作r反,如机器字长为m,则反码定义如下 原网表示法简单直瑰,且与真值的转执根方使,但不根于在计算机中 0sx≤2m-4-1 进行加被运算。如进行两兼相加,色先判断两个数的符号是否相同。如 国= 2”-11x -(2"1-1)sxs0 果相同,则进行加法运算,否测进行减法运算。如进行两量相减,必比 较两兼的地对值大小,再由大数减小靴,结果的符母要和地对值大的教的 正兼的反两与其源网相同。如,当机牛长一8时 符号一意。按上述运算方法设计的算术远算电路很复来。因此,计城中 +01g-+0一00000000B +127+127一0111111B 娜常使用补网进行加减运草这模城引入了反网夜示法和剂母我示选 当机每李长a-16时: +81+81k一0000000000001000B +127g-+127]g000000000111111B 34 3.补码 负数的反码是在原码基础上,符号位不变(仍为1),数值位 设数的补码记作#,如机器字长为m,则补码定义如下 按位取反。例如,当机幕宇长=8时: -0叫度=(21)-0=11111111B 0sxs2-1 卜-127度=2-1-127=10000000B 2"-x刘 -2-1sx<0 反码表示数的范圆是:8位二进制反表示数的花圆为 正数的补码与其原闯、反码相同。创如,当机警字长-8时: 山272Z,L6位二进谢反表示数的范.为27643276五: “0”的反码有两种表示法:00000000表示+0,11111111表示 当机鼻字长n-16时, +8W-+8图g-+8.一00M000000000100B +27第-+127产+127r0000000111B 35 9
2019/9/8 9 原码表示法简单直观,且与真值的转换很方便,但不便于在计算机中 进行加减运算。如进行两数相加,必须先判断两个数的符号是否相同。如 果相同,则进行加法运算,否则进行减法运算。如进行两数相减,必须比 较两数的绝对值大小,再由大数减小数,结果的符号要和绝对值大的数的 符号一致。按上述运算方法设计的算术运算电路很复杂。因此,计算机中 通常使用补码进行加减运算,这样就引入了反码表示法和补码表示法。 8位二进制原码表示数的范围为-127+127,16位二进制原码表示数 的范围为-32767+32767;“0”的原码有两种表示法:00000000表示+0, 10000000表示-0。 33 2. 反码 设数x的反码记作[x] 反,如机器字长为n,则反码定义如下: (2 1) | | (2 1) 0 0 2 1 [ ] 1 1 x x x x x n n n 反 正数的反码与其原码相同。例如,当机器字长n=8时: [+0]反=[+0]原=00000000B [+127]反=[+127]原=01111111B 当机器字长n=16时: [+8]反=[+8]原=0000000000001000B [+127]反=[+127]原=0000000001111111B 34 负数的反码是在原码基础上,符号位不变(仍为1),数值位 按位取反。例如,当机器字长n=8时: [-0]反=(28 -1)-0=11111111B [-127]反=(28 -1)-127=10000000B 反码表示数的范围是:8位二进制反码表示数的范围为 -127+127,16位二进制反码表示数的范围为-32767+32767; “0”的反码有两种表示法:00000000表示+0,11111111表示-0。35 3. 补码 设数x的补码记作[x] 补,如机器字长为n,则补码定义如下: 2 | | 2 0 0 2 1 [ ] 1 1 x x x x x n n n 补 正数的补码与其原码、反码相同。例如,当机器字长n=8时: [+8]补=[+8]反=[+8]原=00001000B [+127]补=[+127]反=[+127]原=01111111B 当机器字长n=16时: [+8]补=[+8]反=[+8]原=0000000000001000B [+127]补=[+127]反=[+127]原=0000000001111111B 36 33 34 35 36

2019/9/8 米 8位二进制数的原码、反码和补码表 负最的补网是在原网基破上,符号位不变(仍为),数值位按位取反,。 末位:或在反码蓝随上末位加1。例如,当机字长一S时 10001000B H21111111B -厦-111011B H271z-10000000B -81w-28-111000B 127-2127-10000001B 可B以看出,位一进盛示兼的花圆为山,16位二进补表 示数的范国为762762,8位二进鳞撒的腻到、反到和琳两如寝2.1所 蓝 37 省真值与补码之间的转换 2.反码转换为离值 一,原网转换为真值 要求反码的真值,只要先求出反码对应的原码,再按上述原 码转换为真值的方法即可求出其真值。 根据原码定义,将原码数值位各位按权展开求和,由符号 正数的原码是反码本身。 位决定数的正负即可由原码求出真值。 负数的原码可在反码基础上,符号位仍为1不变,数值位按 例已知[单-0001111B,以单=10011101B,求x利 位取反, x=+H0x26+0x25+1x2*+1x241x224+1x2+1×2=31 y=0x26+0x2541x2+x241×2240x21+1x20=-29 例已知rz0000111B,问度100101B,求和 39 40 10
2019/9/8 10 负数的补码是在原码基础上,符号位不变(仍为1),数值位按位取反, 末位加1;或在反码基础上末位加1。例如,当机器字长n=8时: [-8]原=10001000B [-127]原=11111111B [-8]反=11110111B [-127]反=10000000B [-8]补=2 8 -8=11111000B [-127]补=2 8 -127=10000001B 可以看出,8位二进制补码表示数的范围为-128+127,16位二进制补码表 示数的范围为-32768+32767。8位二进制数的原码、反码和补码如表2.1所 示。 37 8位二进制数的原码、反码和补码表 二进制数 无符号 十进制数 带 符 号 数 原码 反码 补码 0000 0000 0000 0001 0000 0010 0111 1110 0111 1111 1000 0000 1000 0001 1111 1101 1111 1110 1111 1111 0 1 2 126 127 128 129 253 254 255 +0+1+2 +126 +127 -0 -1 -125 -126 -127 +0+1+2 +126 +127 -127 -126 -2 -1 -0 +0+1+2 +126 +127 -128 -127 -3 -2 -1 38 (三) 真值与补码之间的转换 一.原码转换为真值 根据原码定义,将原码数值位各位按权展开求和,由符号 位决定数的正负即可由原码求出真值。 例 已知[x] 原=00011111B,[y] 原=10011101B,求x和y x=+(02 6+02 5+12 4+12 3+12 2+12 1+12 0 )=31 y=-(02 6+02 5+12 4+12 3+12 2+02 1+12 0 )=-29 39 2. 反码转换为真值 要求反码的真值,只要先求出反码对应的原码,再按上述原 码转换为真值的方法即可求出其真值。 正数的原码是反码本身。 负数的原码可在反码基础上,符号位仍为1不变,数值位按 位取反。 例 已知[x] 反=00001111B,[y] 反=11100101B,求x和y 40 37 38 39 40