1、基基 本本 知知 识识第第 一一 章章 1 本章知识要点本章知识要点 常用的几种编码常用的几种编码 。带符号二进制数的代码表示带符号二进制数的代码表示 ;常用计数制及其转换常用计数制及其转换 ;数数字字系统的基本概念系统的基本概念 ;2 1.1 1.1 概概 述述1.1.1 数字系统数字系统 众所周知,我们现在处在一个众所周知,我们现在处在一个信息的时代信息的时代!请问:!请问:信息的概念是什么?信息的概念是什么?信息具备哪些能力信息具备哪些能力? 信息的概念:信息的概念:人们站在不同的角度,对人们站在不同的角度,对“信息信息”给出了不同的解释。给出了不同的解释。诸如,诸如,“信息是表征物理量
2、数值特征的量信息是表征物理量数值特征的量”,“信息是物质的反映信息是物质的反映”,“信息是人类交流的依据信息是人类交流的依据”, 广义的说,广义的说,“信息是对客观世界所存在的各种差异的描述信息是对客观世界所存在的各种差异的描述”。一、信息与数字一、信息与数字3二、数字系统二、数字系统 什么是数字系统什么是数字系统? ? 数字系统是一个能对数字信号进行存储、传递和加工的实体,它由实现各种功能的数字逻辑电路相互连接而成。例如,数字计算机。 1. 1. 数字信号数字信号 若信号的变化在时间上和数值上都是离散的,或者说断续的,则称为离散信号。离散信号的变化可以用不同的数字反映,所以又称为数字信号,简
3、称为数字量。 例如,学生成绩记录,工厂产品统计,电路开关的状态等。 4真实的世界是模拟的。5 例如,某控制系统框图如下图所示。 执行机构执行机构 数字量数字量 数字量数字量 模拟量模拟量 模拟量模拟量 控制信号控制信号 被测参数被测参数 一次仪表一次仪表 计算机计算机被控对象被控对象 D/A A/D 数字系统中处理的是数字信号,当数字系统要与模拟信号发生联系时,必须经过模/数(A/D)转换和数/模(D/A)转换电路,对信号类型进行变换。6 2. 2. 数字逻辑电路数字逻辑电路 用来处理数字信号的电子线路称为数字电路。数字电路。由于数字电路的各种功能是通过逻辑运算和逻辑判断来实现的,所以数字电路
4、又称为数字逻辑电路数字逻辑电路或者逻辑电路。逻辑电路。 (1) 电路的基本工作信号是二值信号。它表现为电路中电压的“高”或“低”、开关的“接通”或“断开”、晶体管的“导通”或“截止”等两种稳定的物理状态。 (2) 电路中的半导体器件一般都工作在开、关状态。 数字逻辑电路具有如下特点数字逻辑电路具有如下特点: (3) 电路结构简单、功耗低、便于集成制造和系列化生产;产品价格低廉、使用方便、通用性好。 (4) 由数字逻辑电路构成的数字系统工作速度快、精度高、功能强、可靠性好。 7 由于数字逻辑电路具有上述特点,所以,数字逻辑电路的应用十分广泛。 随着半导体技术和工艺的发展,出现了数字集成电路,集成
5、电路发展十分迅速。 数字集成电路按照集成度的高低可分为小规模(数字集成电路按照集成度的高低可分为小规模(SSI)、)、中规模(中规模(MSI)、大规模()、大规模(LSI)和超大规模()和超大规模(VLSI)几种)几种类型。类型。 数字逻辑电路主要研究:电路输出、输入间的逻辑关系。主要的工具是逻辑代数,电路的功能用真值表、逻辑表达式及波形图表示。8 数字计算机是一种能够自动、高速、精确地完成数值计算、数据数字计算机是一种能够自动、高速、精确地完成数值计算、数据加工和控制、管理等功能的数字系统。加工和控制、管理等功能的数字系统。 1数字计算机数字计算机 三、三、 数字计算机及其发展数字计算机及其
6、发展 数字计算机从1946年问世以来,其发展速度是惊人的。根据组成计算机的主要元器件的不同,至今已经历了四代。具体如下表所示。 2计算机的发展计算机的发展 计算机总的发展趋势是:趋势是:速度速度、功能、功能、可靠性、可靠性、体、体积积、价格、价格、功耗、功耗。 91.1.2 数字逻辑电路的类型和研究方法数字逻辑电路的类型和研究方法 由于这类电路的输出与过去的输入信号无关,所以不需要有记忆功能。一一、数字逻辑电路的类型、数字逻辑电路的类型 组合逻辑电路组合逻辑电路 : 如果一个逻辑电路在任何时刻的稳定输出仅取决于该时刻的输入,而与电路过去的输入无关,则称为组合逻辑(Combinational L
7、ogic)电路。 根据一个电路是否具有记忆功能,可将数字逻辑电路分为组合逻辑电路组合逻辑电路和时序逻辑电路时序逻辑电路两种类型。10 时序逻辑电路按照是否有统一的时钟信号进行同步,又可进一步分为同步时序逻辑电路同步时序逻辑电路和异步时序逻辑电路。异步时序逻辑电路。 时序逻辑电路时序逻辑电路: 如果一个逻辑电路在任何时刻的稳定输出不仅取决于该时刻的输入,而且与过去的输入相关,则称为时序逻辑(Sequential Logic)电路。 由于这类电路的输出与过去的输入信号无关,所以不需要有记忆功能。11二二、数字逻辑电路的研究方法、数字逻辑电路的研究方法 对数字系统中逻辑电路的研究有两个主要任务两个主
8、要任务:一是分析分析,二是设计设计。 对一个已有的数字逻辑电路,研究它的工作性能和逻辑功能称为逻辑分析逻辑分析; 根据提出的逻辑功能,在给定条件下构造出实现预定功能的逻辑电路称为逻辑设计逻辑设计,或者逻辑综合逻辑综合。 逻辑电路分析与设计的方法随着集成电路的迅速发展在不断发生变化,最成熟的方法是传统的方法传统的方法。121逻辑电路分析和设计的传统方法逻辑电路分析和设计的传统方法 传统方法:传统方法:传统方法是建立在小规模集成电路基础基础之上的,它以技术经济指标作为评价评价一个设计方案优劣的主要性能指标,设计时追求的目标目标是如何使一个电路达到最简。最简。 如何达到最简呢?如何达到最简呢?在组合
9、逻辑电路设计时,尽可能使电路中的逻辑门和连线数目达到最少。而在时序逻辑电路设计时,则尽可能使电路中的触发器、逻辑门和连线数目达到最少。 注意:一个最简的方案并不等于一个最佳的方案!注意:一个最简的方案并不等于一个最佳的方案! 最佳方案应满足全面的性能指标和实际应用要求。所以,在用传统方法求出一个实现预定功能的最简结构之后,往往要根据实际情况进行相应调整。13 2用中、大规模集成组件进行逻辑设计的方法用中、大规模集成组件进行逻辑设计的方法 用中、大规模集成组件去构造满足各种功能的逻辑电路时,如何寻求经济合理的方案呢?如何寻求经济合理的方案呢?要求设计人员必须注意:必须注意: 充分了解各种器件的逻
10、辑结构和外部特性,做到合理选择器件; 充分利用每一个已选器件的功能,用灵活多变的方法完成各类电路或功能模块的设计; 尽可能减少芯片之间的相互连线。 14 3用可编程逻辑器件用可编程逻辑器件(PLD)进行逻辑设计的方法进行逻辑设计的方法 各类可编程逻辑器件(PLD)的出现,给逻辑设计带来了一种全新的方法。人们不再用常规硬线连接的方法去构造电路,而是借助丰富的计算机软件对器件进行编程烧录来实现各种借助丰富的计算机软件对器件进行编程烧录来实现各种逻辑功能,这给逻辑设计带来了极大的方便。逻辑功能,这给逻辑设计带来了极大的方便。 4用计算机进行辅助逻辑设计的方法用计算机进行辅助逻辑设计的方法 面对日益复
11、杂的集成电路芯片设计和数字系统设计,人们不得不越来越多地借助计算机进行辅助逻辑设计借助计算机进行辅助逻辑设计。目前,已有各种设计数字系统的软件在市场上出售。计算机辅助逻辑设计方法正在不断推广和应用。不少人认为计算机设计自动化已形成计算机科学中的一个独立的学科。151.2.1 进位计数制进位计数制 数制是人们对数量计数的一种统计规律。生活中广泛使用的是十进制,而数字系统中使用的是二进制。 1.2 1.2 数制及其转换数制及其转换 6666102 6101 6100如 (666)10=6102+6101+6100 同一个字符同一个字符6从左到右所代表的值依次为从左到右所代表的值依次为600、60、
12、6。即 十进制中采用了十进制中采用了0、1、9共十个基本数字符号,进共十个基本数字符号,进位规律是位规律是“逢十进一逢十进一”。当用若干个数字符号并在一起表示一个数时,处在不同位置的数字符号,其值的含意不同。 一、十进制一、十进制16 广义地说,一种进位计数制包含着基数基数和位权位权两个基本的因素: 基数基数: 指计数制中所用到的数字符号的个数。在基数为R计数制中,包含0、1、R-1共R个数字符号,进位规律是“逢R进一”。称为R进位计数制,简称R进制。 位权位权: 是指在一种进位计数制表示的数中,用来表明不同数位上数值大小的一个固定常数。不同数位有不同的位权,某一个数位的数值等于这一位的数字符
13、号乘上与该位对应的位权。R进制数的位权是进制数的位权是R的整数次幂的整数次幂。 例如,十进制数的位权是10的整数次幂,其个位的位权是100,十位的位权是101 。 二、二、 R进制进制17 一个一个R进制数进制数N可以有两种表示方法:可以有两种表示方法: (1) 并列表示法并列表示法(又称位置计数法) (N)R = ( Kn-1Kn-2K1K0 . K-1K-2K-m )R (2) 多项式表示法多项式表示法(又称按权展开法又称按权展开法)(N)R = Kn-1Rn-1 + Kn-2Rn-2 +K1R1 + K0R0 + K-1R-1 + K-2R-2+ + K-mR-m 1nmiiiRK 其中
14、:R 基数 ; n整数部分的位数; m 小数部分的位数; Ki R进制中的一个数字符号,其取值范围 为 0 Ki R-1 (-min-1)。 18 (3) 位权是位权是R的整数次幂,第的整数次幂,第i位的权为位的权为Ri (-min-1)。 R进制的特点可归纳如下:进制的特点可归纳如下: (1) 有有0、1、R-1共共R个数字符号个数字符号; (2) “逢逢R进一进一”,“10”表示表示R; 19 基数R=2的进位计数制称为二进制。二进制数中只有0和1两个基本数字符号,进位规律是“逢二进一逢二进一”。二进制数的位权是2的整数次幂。 三、二进制三、二进制 任意一个二进制数N可以表示成 其中:n整
15、数位数;m小数位数; Ki 为0或者1, -min-1。 (N)2 = (Kn-1Kn-2K1K0.K-1K-2K-m)2 = Kn-12n-1+Kn-22n-2+K121+K020 +K-12-1+K-22-2+K-m2-m i1-nmii2K20 例如,一个二进制数1011.01可以表示成: (1011.01)2 = 123+022+121+120+02-1+12-2 二进制数的运算规则如下:二进制数的运算规则如下: 加法规则加法规则 0+0=0 0+1=1 0+0=0 0+1=1 1+0=1 1+1=0 ( 1+0=1 1+1=0 (进位为进位为1)1) 减法规则减法规则 0-0=0 1
16、-0=1 0-0=0 1-0=1 1-1=0 0-1=1 ( 1-1=0 0-1=1 (借位为借位为1)1) 乘法规则乘法规则 0 00=0 00=0 01=01=0 1 10=0 10=0 11=1 1=1 除法规则除法规则 0 01=0 11=0 11=11=1 21 因为二进制中只有0和1两个数字符号,可以用电子器件的两种不同状态来表示一位二进制数。例如,可以用晶体管的截止和导通表示1和0,或者用电平的高和低表示1和0等。所以,在数字系统中普遍采用二进制。在数字系统中普遍采用二进制。 二进制的优点二进制的优点: : 运算简单、物理实现容易、存储和传送运算简单、物理实现容易、存储和传送方便
17、、可靠。方便、可靠。 二进制的缺点:二进制的缺点:数的位数太长且字符单调,使得书写、数的位数太长且字符单调,使得书写、记忆和阅读不方便。记忆和阅读不方便。 因此,人们在进行指令书写、程序输入和输出等工作时,通常采用八进制数和十六进制数作为二进制数的缩写通常采用八进制数和十六进制数作为二进制数的缩写。 22 四四、八八进制进制 基数R=8R=8的进位计数制称为八进制。八进制数中有0 0、1 1、7 7共共8 8个基本数字符号个基本数字符号,进位规律是“逢八进一逢八进一”。八进制数的位权是8的整数次幂。 任意一个八进制数N可以表示成 (N)8 =(Kn-1Kn-2K1K0 .K-1K-2K-m)8
18、 = Kn-18n-1+Kn-28n-2+K181+K080 +K-18-1+K-28-2+K-m8-m 1nmiii8K 其中:n整数位数;m小数位数; Ki07中的任何一个字符,-m in-1。 23 五、十六进制五、十六进制 基数R=16R=16的进位计数制称为十六进制。十六进制数中有0 0、1 1、9 9、A A、B B、C C、D D、E E、F F共共1616个数字符号个数字符号,其中,AF分别表示十进制数的1015。进位规律为“逢十六进逢十六进一一”。十六进制数的位权是16的整数次幂。 任意一个十六进制数N可以表示成 (N)16 = (Kn-1Kn-2K1K0 .K-1K-2K-
19、m)16 = Kn-116n-1+Kn-216n-2+K1161+K0160 +K-116-1+K-216-2+K-m16-m 1iinmi16K 其中:n整数位数;m小数位数;Ki表示09、AF 中的任何一个字符,-m i n-1。 241.2.2 数制转换数制转换 方法:多项式替代法方法:多项式替代法 一一、二进制数与十进制数之间的转换二进制数与十进制数之间的转换 1二进制数转换为十进制数二进制数转换为十进制数 将二进制数表示成按权展开式,并按十进制运算法则进行计算,所得结果即为该数对应的十进制数。 例如,例如,(10110.10110110.101)2 2 = =(?)(?)1010 (
20、10110.101)2=124+122+121+12-1+12-3 = 16+4+2+0.5+0.125 = (22.625)10 数制转换是指将一个数从一种进位制转换成另一种进位制。从实际应用出发,要求掌握二进制数与十进制数、八进制数和十六进制数之间的相互转换。 25方法:基数乘除法方法:基数乘除法 十进制数转换成二进制数时,应对整数和小数分别进行处理。 整数转换采用“除除2 2取余取余”的方法; 小数转换采用“乘乘2 2取整取整”的方法。 (1) (1) 整数转换整数转换 “除除2 2取余取余”法法:将十进制整数N除以2,取余数计为K0 ;再将所得商除以2,取余数记为K1;。依此类推,直至
21、商为0,取余数计为Kn-1为止。即可得到与N对应的n位二进制整数Kn-1K1K0。 2十进制数转换为二进制数十进制数转换为二进制数 26 例如,例如,(3535)10 10 = =(?)(?)2 2 2 3 5 2 3 5 余数余数 2 1 7 2 1 7 1 1 (K K0 0) 低位低位 2 8 2 8 1 1 (K K1 1) 2 4 2 4 0 0 (K K2 2) 2 2 2 2 0 0 (K K3 3) 2 1 2 1 0 0 (K K4 4) 0 0 1 1 (K K5 5) 高位高位 即 (35)(35)1010=(100011)=(100011)2 2 27 例如例如,(0.
22、68750.6875)1010 = =(?)(?)2 2 (2) (2) 小数转换小数转换 “乘乘2 2取整取整”法法:将十进制小数 N N 乘以2,取积的整数记为K1;再将积的小数乘以2,取整数记为K2;。依此类推,直至其小数为0或达到规定精度要求,取整数记作Km为止。即可得到与 N N 对应的m位二进制小数0.K-1K-2K-m。 高位 1 1(K(K-1-1) ) 1 1.3 7 5 0.3 7 5 0 0 0(K(K-2-2) ) 0 0.7 5 0 0 .7 5 0 0 1 1(K(K-3-3) ) 1 1.5 0 0 0 .5 0 0 0 0.6 8 7 5 0.6 8 7 5 整
23、数部分 2 2 2 2低位 1 1(K(K-4-4) ) 1 1.0 0 0 0 .0 0 0 0 2 2 2 2即: (0.6875)(0.6875)1010=(0.1011)=(0.1011)2 228二二、二进制数与八进制数、十六进制数之间的转换二进制数与八进制数、十六进制数之间的转换 1二进制数与八进制数之间的转换二进制数与八进制数之间的转换 二进制数转换成八进制数:二进制数转换成八进制数:以小数点为界,分别往高、往低每3位为一组,最后不足3位时用0补充,然后写出每组对应的八进制字符,即为相应八进制数。 例如,例如,(11100101.0111100101.01)2 2 = = (?)
24、(?)8 8 011 100 101 . 010 3 4 5 . 2 即 (11100101.01)(11100101.01)2 2=(345.2)=(345.2)8 8 29 5 6 . 7 101 110 .111 即: (56.7)(56.7)8 8 = (101110.111)= (101110.111)2 2 例如,例如,(56.756.7)8 8 = = (?)(?)2 2 八进制数转换成二进制数时,只需将每位八进制数用3位二进制数表示,小数点位置保持不变。 302二进制数与十六进制数之间的转换二进制数与十六进制数之间的转换 二进制数转换成十六进制数:二进制数转换成十六进制数:以小
25、数点为界,分别往高、往低每4位为一组,最后不足4位时用0补充,然后写出每组对应的十六进制字符即可。 例如,例如,(101110.011101110.011)2 2 = = (?)(?)1616 即: (101110.011)(101110.011)2 2 = (2E.6)= (2E.6) 0010 1110 . 0110 2 E . 6 31 十六进制数转换成二进制数时,只需将每位十六进制数用4位二进制数表示,小数点位置保持不变。 例如,例如,(5A.B)16 = (?)2 即: (5A.B)=(1011010.1011)2 5 A . B 0101 1010 .1011 321.3 1.3
26、带符号二进制数的代码表示带符号二进制数的代码表示 为了标记一个数的正负,人们通常在一个数的前面用“+ +”号表示正数,用“- -”号表示负数。在数字系统中,符号和数值一样是用0 0和1 1来表示的,一般将数的最高位作为符号位,用0 0表示正,用表示正,用1 1表示负表示负。其格式为 Xf Xn-1 Xn-2 X1 X0 符号位 通常将用“+”、“-”表示正、负的二进制数称为符号数的真值真值,而把将符号和数值一起编码表示的二进制数称为机器数机器数或机器码机器码。 常用的机器码有原码原码、反码反码和补码补码三种。 33 1.3.1 原码原码 X 0X1 X X原 = = 1-X -1X0 0 0
27、正正 即即 符号位符号位 1 1 负负 数值位:数值位: 不变不变一、小数原码的定义一、小数原码的定义 设二进制小数X = 0.x-1x-2x-m,则其原码定义为 原码:原码:符号位用0表示正,1表示负;数值位保持不变。原码表示法又称为符号数值表示法。 34 例如,例如,若 X1 = +0.1011 , X2 = -0.1011 则 X1原 = 0.1011 X2原 = 1-(-0.1011)=1.1011 根据定义,小数“0”的原码可以表示成0 0. .0000或或1.001.00。 35二二、整数原码的定义整数原码的定义 X 0 X 2n X X原 = = 2n-X -2n X 0 设二进
28、制整数 X = xn-1xn-2x0,则其原码定义为 例如,若X1 = +1101 , X2 = -1101, 则X1和X2的原码为 X1原 = 0 01101 X2原 = 24-(-1101)=10000+1101=1 11101 同样,整数“0”的原码也有两种形式,即即0 000和和1 100。 36 原码的优点优点: 简单易懂,求取方便; 缺点:缺点:加、减运算不方便。 当进行两数加、减运算时,要根据运算及参加运算的两个数的符号来确定是加还是减;如果是做减法,还需根据两数的大小确定被减数和减数,以及运算结果的符号。显然,这将增加运算的复杂性。 为了克服原码的缺点,引入了反码和补码。为了克
29、服原码的缺点,引入了反码和补码。37 1.3.2 反码反码 X 0 X 1 XX反 = = (2-2-m)+X -1 X 0 一、小数反码的定义一、小数反码的定义 设二进制小数X = 0.x-1x-2x-m,则其反码定义为 带符号二进制数的反码表示:带符号二进制数的反码表示: 符号位符号位用0表示正,用1表示负; 数值位数值位正数反码的数值位和真值的数值位相同;而负数反码的数值位是真值的数值位按位变反。 38 例如,例如,若 X1 = +0.1011 , X2 = -0.1011,则X1和X2的反码为 X1反 = 0.1011 X2反 = 2-2-4+X2=10.0000-0.0001-0.1
30、011=1.0100 根据定义,小数“0”的反码有两种表示形式,即0.000.00和和1.111.11。 即 -0 -0 . . 1 0 1 1 1 0 1 1 1 . 0 1 0 0 1 . 0 1 0 0 39二二、整数反码的定义整数反码的定义 设二进制整数X = xn-1xn-2x0,则其反码定义为 即 - 1 0 0 1- 1 0 0 1 1 0 1 1 0 1 0 1 1 0 整数“0”的反码也有两种形式,即000000和11111 1。 例如,例如,若X1 = +1001 , X2 = -1001,则X1和X2的反码为X1反 = 01001X2反 = (25-1)+X = (100
31、000-1)+(-1001)= 11111-1001 = 10110 X反 = =(2n+1-1)+X -2n X 0X 0 X 2n40 采用反码进行加、减运算时,无论进行两数相加还是两数相减,均可通过加法实现。 加、减运算规则如下:加、减运算规则如下: X1 + X2反 =X1反 +X2反 X1 X2反 =X1反 +-X2反 运算时,符号位和数值位一样参加运算。当符号位有运算时,符号位和数值位一样参加运算。当符号位有进位产生时,应将进位加到运算结果的最低位,才能得到进位产生时,应将进位加到运算结果的最低位,才能得到最后结果。最后结果。41 1.3.3 补码补码 带符号二进制数的补码表示带符
32、号二进制数的补码表示: 符号位符号位用0表示正,用1表示负; 数值位数值位正数补码的数值位与真值相同;负数补码的负数补码的数值位是真值的数值位按位变反,并在最低位加数值位是真值的数值位按位变反,并在最低位加1 1。 设二进制小数X = 0.x-1x-2x-m,则其补码定义为 一一、小数补码的定义小数补码的定义 X 0 X 1 X X补 = = 2+X -1 X 0 42 例如,例如,若X 1= +0.1011 , X 2 = -0.1011, 则X1和X2的补码为 X1补 = 0.1011 X2补 = 2 + X = 10.0000 - 0.1011 = 1.0101 注意:注意:小数“0”的
33、补码只有一种表示形式,即0.00。 即 -0-0 . . 1 0 1 1 1 0 1 1 1 . 0 1 0 0 1 . 0 1 0 0 + 1+ 1 1 . 0 1 0 1 1 . 0 1 0 1 43二、二、整数补码的定义整数补码的定义 设二进制整数X = xn-1xn-2x0,则其补码定义为 X 0 X X 0 X 2 2n n X X补补 = = 2 2n+1n+1+X -2+X -2n n X X 0 0 例如,例如,若X1 = +1010 , X2 = -1010, 则X1和X2的补码为 X1补= 01010(正数补码的数值位与真值相同。) X2补= 25 + X = 100000
34、-1010 = 10110(负数补码的数值位是真值的数值位按位变反,并在最低位加1。) 整数“0”的补码也只有一种表示形式,即000000。 44 采用补码进行加、减运算时,可以将加、减运算均通过加法实现。 运算时,符号位和数值位一样参加运算,若符号位有运算时,符号位和数值位一样参加运算,若符号位有进位产生,则应将进位丢掉后才进位产生,则应将进位丢掉后才能能得到正确结果。得到正确结果。 运算规则如下运算规则如下: X1 + X2补 =X1补 +X2补 X1 X2补 =X1补 +-X2补45 1.4 1.4 几种常用的编码几种常用的编码 1.4.1 十进制数的二进制编码十进制数的二进制编码(BC
35、DBCD码)码) 用用4位二进制代码对十进制数字符号进行编码,简称为位二进制代码对十进制数字符号进行编码,简称为二二十进制代码,或称十进制代码,或称BCD(Binary Coded Decimal)码码。 BCD码既有二进制的形式,又有十进制的特点。常用的BCD码有8421码码、2421码码和余余3码。码。 46 十进制数字符号09与8421码码、2421码码和余余3码码的对应关系如下表所示。 0 0000 0000 0011 0 0000 0000 0011 1 0001 0001 0100 1 0001 0001 0100 2 0010 0010 0101 2 0010 0010 0101
36、 3 0011 0011 0110 3 0011 0011 0110 4 0100 0100 0111 4 0100 0100 0111 5 0101 1011 1000 5 0101 1011 1000 6 0110 1100 1001 6 0110 1100 1001 7 0111 1101 1010 7 0111 1101 1010 8 1000 1110 1011 8 1000 1110 1011 9 1001 1111 1100 9 1001 1111 1100 十进制字符十进制字符 8421 8421码码 2421 2421码码 余余3 3码码 常用的常用的3 3种种BCDBCD码
37、码 47一一、84218421码码 84218421码码:是用4位二进制码表示一位十进制字符的一种有有权码权码,4位二进制码从高位至低位的权依次为23、22、21、20,即为即为8 8、4 4、2 2、1,1,故称为故称为84218421码码。 按8421码编码的09与用4位二进制数表示的09完全一样。所以,8421码是一种人机联系时广泛使用的中间形式。 (1)(1) 8421码中不允许出现10101111六种组合(因为没有十进制数字符号与其对应)。 (2)(2) 十进制数字符号的8421码与相应ASCII码的低四位相同,这一特点有利于简化输入输出过程中BCD码与字符代码的转换。 注意:注意:
38、 48 8421码与十进制数之间的转换是按位进行按位进行的,即十进制数的每一位与4位二进制编码对应。例如, 1 184218421码与十进制数之间的转换码与十进制数之间的转换 (258) (258)10 = (0010 0101 1000)= (0010 0101 1000)8421码 (0001 0010 0000 1000) (0001 0010 0000 1000)8421码 = (1208)= (1208)10 例如, (28(28)10 = =(1110011100)2 = =(0010100000101000)8421 2 284218421码与二进制的区别码与二进制的区别49二、
39、二、24212421码码 24212421码码: : 是用4位二进制码表示一位十进制字符的另一种有权码,4 4位二进制码从高位至低位的权依次为位二进制码从高位至低位的权依次为2 2、4 4、2 2、1,1,故称为故称为24212421码码。 若一个十进制字符X X的2421码为a3 a2 a1 a0,则该字符的值为 X = 2a3 + 4a2 + 2a1 + 1a0 例如,(1101)2421码 = (7)10 2421码与十进制数之间的转换同样是按位进行的,例如, (258)(258)10 = (0010 1011 1110)= (0010 1011 1110)2421码 (0010 000
40、1 1110 1011) (0010 0001 1110 1011)2421码 = (2185)= (2185)101 124212421码与十进制数之间的转换码与十进制数之间的转换 50 (1)(1) 24212421码不具备单值性码不具备单值性。例如,0101和1011都对应十进制数字5。为了与十进制字符一一对应,24212421码不允许出现码不允许出现0101010110101010的的6 6种状态。种状态。 2 2注意注意 (3) (3) 应应与二进制数进行区别与二进制数进行区别! ! (2)(2) 24212421码是一种对码是一种对9 9的自补代码。的自补代码。即一个数的2421码
41、只要自身按位变反,便可得到该数对9的补数的2421码。例如, (4)10 (0100)2421 (1011)2421 (5)10 具有这一特征的BCD码可给运算带来方便,因为直接对BCD码进行运算时,可利用其对9的补数将减法运算转化为加法运算。 51三三、余余3 3码码 余余3码:码:是由8421码加上0011形成的一种无权码,由于它的每个字符编码比相应8421码多3,故称为余3码。 例如,十进制字符5的余3码等于5的8421码0101加上0011,即为1000。 2. 2. 余余3 3码与十进制数码与十进制数进行进行转换转换时时,每位十进制数,每位十进制数字字的编码的编码都应余都应余3 3。
42、例如, (256) (256)10 = (0101 1000 1001) (0101 1000 1001)余3码 (1000 1001 1001 1011) (1000 1001 1001 1011)余3码 = (5668)= (5668)10 注意注意: 1. 余余3码中不允许出现码中不允许出现0000、0001、0010、1101、1110和和1111六种状态。六种状态。 3. 3. 余余3 3码是一种对码是一种对9 9的自补代码的自补代码。521.4.2 可靠性编码可靠性编码 作用作用: 提高系统的可靠性。 为了减少或者发现代码在形成和传送过程中都可能发生的错误。形成了各种编码方法。下面
43、,介绍两种常用的可靠性编码。 一一、格雷格雷(Gray)(Gray)码码 1 1. . 特点:特点:任意两个相邻的数,其格雷码仅有一位不同。任意两个相邻的数,其格雷码仅有一位不同。 2. 2. 作用作用:避免代码形成或者变换过程中产生的错误避免代码形成或者变换过程中产生的错误。53 转换规则如下:转换规则如下: 3. 3. 典型格雷码与普通二进制码之间的转换典型格雷码与普通二进制码之间的转换。 设二进制码为 B = Bn-1Bn-2 Bi+1Bi B1B0 对应格雷码为 G = Gn-1Gn-2 Gi+1Gi G1G0 有: Gn-1 = Bn-1 Gi = Bi+1Bi 0 i n-2 其中
44、,运算“”称为“异或”运算,运算规则是: 00=000=0; 01=1 01=1; 10=1 10=1; 11=0 11=0。 54例如,例如, 1 0 1 1 0 1 0 0 1 0 1 1 0 1 0 0 二进制数二进制数 1 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 GrayGray码码 思考思考: : 如何将如何将GrayGray码转换成二进制码?码转换成二进制码? 55二二、奇偶检验码奇偶检验码 奇偶检验码是一种用来检验代码在传送过程中是否产生错误的代码。 2 2编码方式:编码方式:有两种编码方式有两种编码方式. . 奇检验奇检验: :使信息位和检验位中“1”的个数
45、共计为奇数; 偶检验偶检验: :使信息位和检验位中“1”的个数共计为偶数。 信息位 (7位) 采用奇检验的检验位 (1位) 采用偶检验的检验位 (1位) 1001100 0 1 1 1组成:组成: 信息位信息位位数不限的一组二进制代码位数不限的一组二进制代码 两部分组成两部分组成 奇偶检验位奇偶检验位仅有一位。仅有一位。 例如,56 3 3检验码的工作原理检验码的工作原理 奇偶检验码的工作原理如下图所示。 检检 测测 器器编码器编码器 x x1 1 x x2 2 x x3 3 x x4 4 1 11 11 11 11 11 10 00 00 00 01 1F FP(P(奇奇) ) 发送端发送端 接收端接收端 57 4 4特点特点 (1)(1) 编码简单、容易实现编码简单、容易实现 ; (2) (2) 奇偶检验码只有检错能力,没有纠错能力奇偶检验码只有检错能力,没有纠错能力 ; (3)(3) 只能发现单错,不能发现双错只能发现单错,不能发现双错 。 58