计算机组成与工作原理电子教案第2章_第1页
计算机组成与工作原理电子教案第2章_第2页
计算机组成与工作原理电子教案第2章_第3页
计算机组成与工作原理电子教案第2章_第4页
计算机组成与工作原理电子教案第2章_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主主 编编 刘晓川刘晓川计算机组成与工作原理计算机组成与工作原理 电子教案电子教案中等职业学校教学用书(电子技术专业)中等职业学校教学用书(电子技术专业)第第2 2章章 计算机中的信息表示计算机中的信息表示 2.1 2.1 计算机数值数据的表示计算机数值数据的表示 2.2 2.2 其他信息的表示其他信息的表示 2.3 2.3 数据校验码数据校验码 2.4 2.4 计算机的逻辑运算基础计算机的逻辑运算基础 2.1 2.1 计算机数值数据的表示计算机数值数据的表示2.1.1 数制与数制间的转换数制与数制间的转换 (一一)数制的概念数制的概念数制就是计数的方法,指用一组固定的符号和一套统一的规则来表

2、示数值(数的多少)的方法,如在计数过程中采用进位的方法,则称为进位计数制。 进位计数制有数码、基数、位权三个要素: 1数码:是指在某种进位计数制中允许使用的计数符号,一般用k表示。比如十进制的数码k=09,共计10个计数符号;二进制的数码k=0,1,共计2个计数符号;八进制的数码k=07,共计8个计数符号;十六进制的数码为k=09,AF,共计16个计数符号。 2基数:指在某种进位计数制中,允许使用的数码的个数,一般用R表示。例如,十进制、二进制、八进制、十六进制的基数R分别为10、2、8、16。 3位权:指在某种进位计数制中,某一数位所代表的大小,例如:十进制数576的7所在的位置位权为10,

3、是1代表10,是7就代表70。显然,位权是以基数为底,数码所在位置的序号为指数的整数次幂。对于一个R进制数(即基数为R),若数位记作i,则位权可记作Ri。数位(数码所在位置的序号)是以小数点为中心向左依次为0、1、2n,向右依次为1、2、3m。如下图2-1: 图图2-1 位权示意位权示意 在计算机中常用数制都有专门的后缀字母表示,用来区别所给数为何进制数。比如十进制数(Decimal number)用后缀D表示或无后缀,计数时具有逢十进一特点;二进制数(Binary number)用后缀B表示,计数时具有逢二进一的特点;八进制数(Octal number)用后缀Q表示(注意不是O,因为O与0容

4、易混淆),计数时具有逢八进一的特点;十六进制数(Hexadecimal number)用后缀H表示,计数时具有逢十六进一的特点。 (二)计算机中为什么要采用二进制计算机中采用什么计数制主要考虑的原则:物理上是否容易实现;运算方法是否简便;工作是否可靠;器材是否节省。 1二进制数只使用两种符号“0”和“1”,任何具有两个不同的稳定状态的器件都可用来表示一位二进制数。 2运算规则简单。 加法规则: 00=001=10=1 11=10乘法规则: 00=0 01=10=0 3节省器材。如有一个n位R进制的数,它能表示的数的个数是Rn 。3位十进制数可以表示0999共1000个数,共需nR=310=30

5、个物理状态。若采用二进制数表示十进制数1000,则需10位,即210=1024,需要nR=102=20个物理状态,显然,二进制要比十进制更节省器材。 4二进制数包含二个变量,“0”和“1”,可以用来表示逻辑变量“真”和“假”,在处理逻辑思维问题和在人工智能领域中具有巨大意义。 (三三)不同数制间的转换不同数制间的转换 1二进制、八进制、十六进制转换为十进制二进制、八进制、十六进制转换为十进制 根据前面介绍的位权的概念,二进制、八进制、十六进根据前面介绍的位权的概念,二进制、八进制、十六进制可以通过按权展开的方法得到其相应的十进制数。制可以通过按权展开的方法得到其相应的十进制数。 K Kn nK

6、 Kn n1 1K Ki iK K1 1K K0 0.K.K1 1K K2 2K Km m K Ki i取值为取值为0 0、1 1、2 2R R1 1=K=Kn n R Rn nK Kn n1 1 R Rn n1 1K Ki i R Ri iK K1 1R R1 1K K0 0R R0 0K K1 1 R R1 1K K2 2 R R2 2K Km m R Rm m = =nmiiiRK2十进制转换为二进制、八进制、十六进制十进制转换为二进制、八进制、十六进制 十进制数转换为二进制、八进制、十六进制数时,十进制整数部分采用十进制数转换为二进制、八进制、十六进制数时,十进制整数部分采用除以除以2

7、、8、16取余,也就是除以基数取余;十进制小数部分采用乘以基取余,也就是除以基数取余;十进制小数部分采用乘以基数取整的方法。数取整的方法。【例例2-32-3】将十进制数将十进制数123.625D123.625D转换为二进制数转换为二进制数 (1)(1)先转换整数部分:可以采用倒除法先转换整数部分:可以采用倒除法 : : (2)(2)再转换小数部分:再转换小数部分:0.6250.6252=1.252=1.25取出整数取出整数1 10.250.252=0.52=0.5取出整数取出整数0 00.52=1.0 取出整数取出整数1 最后得到:最后得到:123.625D=1111011.101B 3二进制

8、与八进制、十六进制之间的转换二进制与八进制、十六进制之间的转换(1)(1)二进制与八进制之间的转换二进制与八进制之间的转换 由于由于2 23 3=8=8,可得三位二进制数可用一位八进制数表示,一位八进制数,可得三位二进制数可用一位八进制数表示,一位八进制数可转换为三位二进制数。转换的具体方法是:可转换为三位二进制数。转换的具体方法是:二进制转换为八进制:以小数点为分界线,整数部分从低位向高位,二进制转换为八进制:以小数点为分界线,整数部分从低位向高位,小数部分从高位向低位,每三位二进制数为一组,不足三位的,整数部分小数部分从高位向低位,每三位二进制数为一组,不足三位的,整数部分在高位补在高位补

9、0 0,小数部分在低位补,小数部分在低位补0 0,然后分别用一位八进制数来表示这些分,然后分别用一位八进制数来表示这些分组即可组即可 。(2)(2)二进制与十六进制之间的转换二进制与十六进制之间的转换由于由于24=16,可得四位二进制数可用一位十六进制数表示,一位十六,可得四位二进制数可用一位十六进制数表示,一位十六进制数可转换为四位二进制数。转换的具体方法与二进制与八进制之间的进制数可转换为四位二进制数。转换的具体方法与二进制与八进制之间的转换类似,不再赘述。转换类似,不再赘述。 (3)(3)八进制与十六进制之间的转换八进制与十六进制之间的转换由于八进制与二进制之间的转换、十六进制与二进制之

10、间的转换都由于八进制与二进制之间的转换、十六进制与二进制之间的转换都比较方便,因此八进制与十六进制之间的转换通常可以借助于二进制来比较方便,因此八进制与十六进制之间的转换通常可以借助于二进制来实现,可以先将八进制(十六进制)转换为二进制,然后再将该二进制实现,可以先将八进制(十六进制)转换为二进制,然后再将该二进制转换为十六进制(八进制)。转换为十六进制(八进制)。 2.1.2 数值信息在计算机中的表示数值信息在计算机中的表示 (一一)无符号数与带符号数无符号数与带符号数 在计算机中,采用数字化方式来表示数据,数据有无符号数和带符号数之分。在计算机中,采用数字化方式来表示数据,数据有无符号数和

11、带符号数之分。无符号数,就是整个机器字长的全部二进制位均表示数值位(没有符号位),相当无符号数,就是整个机器字长的全部二进制位均表示数值位(没有符号位),相当于数的绝对值。例如:于数的绝对值。例如:N N1 1=01001 =01001 表示无符号数表示无符号数9 9N N2 2=11001 =11001 表示无符号数表示无符号数2525机器字长为机器字长为n1位的无符号数的表示范围是位的无符号数的表示范围是0(2n11),此时二进制的最高,此时二进制的最高位也是数值位,其权值等于位也是数值位,其权值等于2n。如字长为。如字长为8位,则数的表示范围为位,则数的表示范围为0255。 但是,实际应

12、用中数据大量还是带符号数,即正、负数。在日常生活但是,实际应用中数据大量还是带符号数,即正、负数。在日常生活中,我们用中,我们用“”、“”号加绝对值来表示数值的大小,用这种形式表号加绝对值来表示数值的大小,用这种形式表示的数值在计算机技术中称为示的数值在计算机技术中称为“真值真值”。这个数可以是十进制形式,也可。这个数可以是十进制形式,也可以是二进制、八进制、十六进制形式。如:以是二进制、八进制、十六进制形式。如:562D、7AB.23H、1101B、234Q等都是真值形式。等都是真值形式。对于数的符号对于数的符号“”或或“”,计算机是无法直接识别的。因此需,计算机是无法直接识别的。因此需要把

13、数的符号数码化。通常,约定二进制数的最高位为符号位,要把数的符号数码化。通常,约定二进制数的最高位为符号位,“0”表表示正号,示正号,“1”表示负号。这种在计算机中使用的表示数的形式称为机器表示负号。这种在计算机中使用的表示数的形式称为机器数。常见的机器数有原码、反码、补码等数。常见的机器数有原码、反码、补码等3种不同的表示形式。种不同的表示形式。 带符号数的最高位被用来表示符号位,而不再表示数值位。前例中带符号数的最高位被用来表示符号位,而不再表示数值位。前例中的的N N1 1、N N2 2在这里的含义变为:在这里的含义变为:N N1 1=01001 =01001 表示表示9 9。N2=11

14、001 根据机器数的不同形式表示不同的值,如是原码则表示根据机器数的不同形式表示不同的值,如是原码则表示9,补码则表示,补码则表示7,反码则表示,反码则表示6。 为了能正确的区别出真值和各种机器数,本章用为了能正确的区别出真值和各种机器数,本章用X表示真值,表示真值,X原原表示原码,表示原码,X补补表示补码,表示补码,X反反表示反码。表示反码。 (二二)定点数概念定点数概念 计算机在进行算术运算时,需要指出小数点的位置。根据小数点的位置计算机在进行算术运算时,需要指出小数点的位置。根据小数点的位置是否固定,在计算机中有两种数据格式:定点表示和浮点表示。是否固定,在计算机中有两种数据格式:定点表

15、示和浮点表示。 在定点表示法中约定:所有数据的小数点位置固定不变。根据小数点约在定点表示法中约定:所有数据的小数点位置固定不变。根据小数点约定的位置不同,定点表示法中又可以分为定点整数和定点小数。定的位置不同,定点表示法中又可以分为定点整数和定点小数。 定点小数是小数点的位置固定在最高有效数位之前,符号位之后,记作定点小数是小数点的位置固定在最高有效数位之前,符号位之后,记作Xs.X1X2Xn,它是一个纯小数。定点小数的小数点位置是隐含约定的,小数,它是一个纯小数。定点小数的小数点位置是隐含约定的,小数点并不需要真正地占据一个二进制位。如下图点并不需要真正地占据一个二进制位。如下图2-2示意:

16、示意: Xs X1 Xn-1 Xn 小数点位置(隐含) 符号位 图图2-2 定点小数格式示意定点小数格式示意 定点整数即纯整数,小数点位置隐含固定在最低有效数位之后,定点整数即纯整数,小数点位置隐含固定在最低有效数位之后,记作记作XsX1X2Xn。如下图。如下图2-3所示:所示: 图图2-3 定点整数格式示意定点整数格式示意 Xs X1 Xn-1 Xn 小数点位置(隐含) 符号位 1原码表示法原码表示法 原码表示法是一种最简单的机器数表示法,又叫符号原码表示法是一种最简单的机器数表示法,又叫符号绝对值表示法。绝对值表示法。用最高位表示符号位,符号位为用最高位表示符号位,符号位为“0”0”表示该

17、数为正,符号位为表示该数为正,符号位为“1”1”表示表示该数为负,其余代码表示数的绝对值。该数为负,其余代码表示数的绝对值。设设X X为任意二进制纯小数为任意二进制纯小数若若X X0 0为正数,表示为为正数,表示为X=X=0. X0. X1 1 X X2 2XXn nX X原原=0. X=0. X1 1X X2 2XXn n=X=X若若X X0 0为负数,表示为为负数,表示为X=X=0. X0. X1 1 X X2 2XXn nX X原原=1. X=1. X1 1 X X2 2XXn n=1=10. X0. X1 1 X X2 2XXn n=1=1( (0. X0. X1 1 X X2 2XX

18、n n) )=1=1X X若若X=0X=0,则,则0 0的原码有两种形式的原码有两种形式: :0 0原原=0. 0 0 0=0. 0 0 00 0原原=1. 0 0 0 =1. 0 0 0 归纳起来,原码的定义为归纳起来,原码的定义为 X X 当当0 0X X1 12 2-n-nX X原原= = 1X=1|X| 当当2-n1X0 若若X X为任意二进制纯整数:为任意二进制纯整数:若若X X0 0为正数,表示为为正数,表示为X=X=X X1 1X X2 2XXn nX X原原=0X=0X1 1 X X2 2XXn n=X=X若若X X0 0为负数,表示为为负数,表示为X=X=X X1 1 X X

19、2 2XXn nX X原原= 1X= 1X1 1X X2 2XXn n = 2= 2n nX X1 1 X X2 2XXn n = 2= 2n n( (X X1 1 X X2 2XXn n) ) = 2 = 2n nX = 2X = 2n n|X|X|归纳起来则为归纳起来则为: : X X 当当0 0X X2 2n n1 1X X原原= = 2nX=2n|X| 当当12nX0 原码表示法简单、直观与真值转换方便。缺点是加减运算不方便。当同号两数相加原码表示法简单、直观与真值转换方便。缺点是加减运算不方便。当同号两数相加求和时,数值部分相加,符号不变;当异号两数相加时,先判断绝对值谁大,用绝求和

20、时,数值部分相加,符号不变;当异号两数相加时,先判断绝对值谁大,用绝对值大的数减去绝对值小的数,结果符号取绝对值大的数的符号。这样使得机器结对值大的数减去绝对值小的数,结果符号取绝对值大的数的符号。这样使得机器结构复杂,运算时间增加。构复杂,运算时间增加。 2补码表示法补码表示法 为了解决异号两数相加和同号两数相减问题,引入补码概念。补码表示法的实质为了解决异号两数相加和同号两数相减问题,引入补码概念。补码表示法的实质是把减法运算变成加法运算。是把减法运算变成加法运算。 (1)(1)模和同余模和同余模是指一个计量器的容量,可用模是指一个计量器的容量,可用M M表示。例如:一个表示。例如:一个4

21、 4位的二进制计数器,当计数位的二进制计数器,当计数器从器从0 0计到计到1515之后,再加之后,再加1 1,计数值又变为,计数值又变为0 0。这个计数器的容量。这个计数器的容量M=2M=24 4=16=16,即模为,即模为1616。由此可见,一个字长为由此可见,一个字长为n n1 1位的纯整数的模为位的纯整数的模为2 2n+1n+1,即符号位的进位为模,同理,纯小,即符号位的进位为模,同理,纯小数的模为数的模为2 2。同余是指两整数同余是指两整数A A、B B除以同一正整数除以同一正整数M M,所得余数相同,则称,所得余数相同,则称A A、B B对对M M同余,即同余,即A A、B B在以在

22、以M M为模时是相等的,可写作为模时是相等的,可写作 A=B (mod M)A=B (mod M)对钟表而言,对钟表而言,M=12M=12。假设:时钟停在。假设:时钟停在8 8点,而现在正确的时间是点,而现在正确的时间是6 6点,这时拨准时点,这时拨准时钟的方法有两种:正拨和倒拨。钟的方法有两种:正拨和倒拨。分针倒着旋转分针倒着旋转2 2圈,等于分针正着旋转圈,等于分针正着旋转1010圈。故有:圈。故有:2=10 (mod 12) 2=10 (mod 12) ,即,即 2 2和和1010同余。同余。 8 82=82=810 (mod 12)10 (mod 12) (2 2)补码表示)补码表示补

23、码的符号位表示方法与原码相同,其数值部分的表示与数的正负有关:对于补码的符号位表示方法与原码相同,其数值部分的表示与数的正负有关:对于正数,数值部分与真值形式相同;对于负数,将真值的数值部分按位取反,且在最低正数,数值部分与真值形式相同;对于负数,将真值的数值部分按位取反,且在最低位上加位上加1 1。一般说:任意一个数一般说:任意一个数X X的补码,等于该数加上其模数。模数的补码,等于该数加上其模数。模数m m为一个正整数,则为一个正整数,则X X补补=M=MX(mod M)X(mod M)当当X X0,0,X X补补=M=MX=X(mod M)X=X(mod M)当当X X0,0,X X补补

24、=M=MX=MX=M|X|(mod M)|X|(mod M)对任意一个对任意一个n n1 1位二进制小数位二进制小数X=Xs.XX=Xs.X1 1X X2 2XXn n,其中,其中XsXs为符号位,其补码为为符号位,其补码为 X X 当当0 0X X1 12 2-n-nX X补补= = 2 2X X 当当1 1X X0(mod 2)0(mod 2)若若X=0,则,则0的补码为:的补码为:0补补=0补补=0.0000,表示唯一。,表示唯一。 对任意一个对任意一个n n1 1位二进制纯数位二进制纯数X=XsXX=XsX1 1X X2 2XXn n,其中,其中XsXs为符号位,其补为符号位,其补码为

25、码为 X 0X 0X X2 2n n1 1 X X补补= mod 2= mod 2n+1n+1 2 2n+1n+1X =2X =2n+1n+1|X| |X| 2 2n nX0X0(3 3)补码特点)补码特点依据补码的定义,可以得出补码具有如下特点:依据补码的定义,可以得出补码具有如下特点:零的表示是唯一的,且为全零,在计算机中判结果为零很方便。零的表示是唯一的,且为全零,在计算机中判结果为零很方便。补码表示法的表数范围比其他编码(原码和反码)要宽,定点小补码表示法的表数范围比其他编码(原码和反码)要宽,定点小数的补码中,可表示数的补码中,可表示1 1,定点整数的补码中,可表示,定点整数的补码中

26、,可表示2 2n n ,这是其它编,这是其它编码中作不到的。码中作不到的。负数的补码求法中,可以看作是其原码除符号位外各位按位取反,负数的补码求法中,可以看作是其原码除符号位外各位按位取反,然后末位再加然后末位再加1。 3 3反码表示法反码表示法反码与补码类似,正数的反码是其本身;负数的反码,可将原码除反码与补码类似,正数的反码是其本身;负数的反码,可将原码除符号位外各位按位取反得到。符号位外各位按位取反得到。反码的符号位:正数用反码的符号位:正数用“0”0”表示,负数用表示,负数用“1”1”表示。表示。反码定义:设反码定义:设X X为为n n1 1位定点二进制小数(包含一位符号位):位定点二

27、进制小数(包含一位符号位): X X 当当 0 0X X1 12 2-n-nXX反反= = (22-n)X 当当2-n1X0 另外反码表示中:另外反码表示中: 00反反=0.000,=0.000,0反反=1.111,零的表示不是唯一的零的表示不是唯一的 若若X X为为n n1 1位定点二进制整数(包含一位符号位)位定点二进制整数(包含一位符号位) X X , 当当 0 0X X2 2n n1 1XX反反= = (2n11)X , 当(当(2n1)X0 4 4移码移码对于移码,在计算机中一般只用来表示浮点数的阶码,而浮点数的阶码只对于移码,在计算机中一般只用来表示浮点数的阶码,而浮点数的阶码只有

28、整数的情况,故在计算机中只讨论定点整数的移码,而不讨论定点小数的移有整数的情况,故在计算机中只讨论定点整数的移码,而不讨论定点小数的移码。码。对于任意一个对于任意一个n n1 1位定点二进制整数位定点二进制整数X X,可表示为,可表示为X=XsXX=XsX1 1X X2 2XXn n其中其中XsXs为符号位,为符号位,X X的移码定义如下:的移码定义如下:XX移移=2=2n nX X,2 2n nX X2 2n n1 1当当X X为正数时,为正数时,XX移移只要将最高位(符号位)加只要将最高位(符号位)加1 1即可得到;即可得到;当当X为负数时,为负数时,X移移=2n|X|。 移码的数值部分与

29、其对应的补码相同,移码的符号位与补码相反。在移码移码的数值部分与其对应的补码相同,移码的符号位与补码相反。在移码表示中,符号位为表示中,符号位为“1”表示正数,符号位为表示正数,符号位为“0”表示负数。表示负数。 (三)浮点数表示小数点的位置根据需要而浮动,这就是浮点数。例如:N=MrE式中:r为浮点数阶码的底,与尾数的基数相同,通常r=2。E和M都是带符号数,E叫做阶码,M叫做尾数。在大多数计算机中,尾数为纯小数,常用原码或补码表示;阶码为纯整数,常用移码或补码表示。浮点数的一般格式如下图所示,机器数中只包含阶码和尾数两部分,浮点数的底是隐含的,在整个机器数中不出现。阶码的符号位为es,阶码

30、的大小反映了在数N中小数点的实际位置;尾数的符号位为ms,它是整个浮点数的符号位,表示了该浮点数的正负。 在浮点数表示法中,数的表示范围由阶码的位数来决定,而尾数的位数决定了有效数字的精度。显然,采用浮点数表示法,表数范围扩大了但精度降低了。 图图24 浮点数的格式示意浮点数的格式示意 es e ms m 阶符, 1位 k位 n位 阶码部分E 尾数部分M 尾符, 1位 (四四)二进制编码的十进制数(二进制编码的十进制数(BCD码)码)在计算机中可以采用四位二进制数来表示一位十进制数,称为二进在计算机中可以采用四位二进制数来表示一位十进制数,称为二进制编码的十进制数(制编码的十进制数(Binar

31、y-coded DecimalBinary-coded Decimal),简称),简称BCDBCD码。码。四位二进制数可以组合出四位二进制数可以组合出16种代码,能表示种代码,能表示16种不同的状态,我们种不同的状态,我们只需要使用其中的只需要使用其中的10种状态,就可以表示十进制数的种状态,就可以表示十进制数的09十个数码,而十个数码,而其他的六种状态为冗余状态。由于可以取任意的其他的六种状态为冗余状态。由于可以取任意的10种代码来表示十个数种代码来表示十个数码,所以就可能产生多种码,所以就可能产生多种BCD编码。编码。BCD编码既具有二进制数的形式,编码既具有二进制数的形式,又保持了十进制

32、数的特点,而且还可以用它们直接进行运算。又保持了十进制数的特点,而且还可以用它们直接进行运算。 根据四位二进制位的各位是否具有权值可以将根据四位二进制位的各位是否具有权值可以将BCDBCD编码分为有权码编码分为有权码编码方案和无权码编码方案。有权码编码方案有编码方案和无权码编码方案。有权码编码方案有8421BCD8421BCD、2421BCD2421BCD、5421BCD5421BCD、5211BCD5211BCD等,以等,以8421BCD8421BCD为最常见。无权码编码方案常见的有余为最常见。无权码编码方案常见的有余3 3码和格雷码。码和格雷码。十进制十进制84218421码码242124

33、21码码余余3 3码码格雷码格雷码0 01 12 23 34 45 56 67 78 89 90000000000010001001000100011001101000100010101010110011001110111100010001001100100000000000100010010001000110011010001001011101111001100110111011110111011111111001100110100010001010101011001100111011110001000100110011010101010111011110011000000000000010

34、0010011001100100010011001101110111010101010100010001100110001000100表2-2 常见的BCD编码方案1 1有权码方案有权码方案 以以8421BCD8421BCD码为例码为例8421BCD8421BCD码又称为码又称为NBCDNBCD码,其主要特点是:码,其主要特点是:(1 1)它是一种有权码,四位二进制代码的位权从高到低分别为)它是一种有权码,四位二进制代码的位权从高到低分别为8 8、4 4、2 2、1 1。(2 2)简单直观。每个代码与它所代表的十进制数之间符合二进)简单直观。每个代码与它所代表的十进制数之间符合二进制数和十进制

35、数相互转换的规则。制数和十进制数相互转换的规则。(3 3)不允许出现)不允许出现1010101011111111。这。这6 6个代码在个代码在84218421码中是非法码。码中是非法码。(4 4)计算机实现计算机实现8421BCD8421BCD码加减法时,要对运算结果进行修正,码加减法时,要对运算结果进行修正,才能得到结果的才能得到结果的8421BCD8421BCD码形式。码形式。修正的规则是(以加法为例):两个修正的规则是(以加法为例):两个BCD码相加,结果在码相加,结果在10101111之间或者结果产生了向高位的进位,则应在其结果上加之间或者结果产生了向高位的进位,则应在其结果上加6(1

36、10)。)。 2 2无权码编码方案无权码编码方案余余3 3码是一种无权码,其编码是在码是一种无权码,其编码是在84218421码的基础上加码的基础上加3 3(00110011)形成的,故称余形成的,故称余3 3码。在这种编码中各位的码。在这种编码中各位的“1 1”不表示一个固定的十进制不表示一个固定的十进制数值,因而不直观;但是任意两个余数值,因而不直观;但是任意两个余3 3码相加时能正确产生向高位的进位码相加时能正确产生向高位的进位信号。观察如上表信号。观察如上表2-22-2还可以发现在余还可以发现在余3 3码中不允许出现码中不允许出现0000000000100010、11011101111

37、11111这这6 6个编码,其在余个编码,其在余3 3码中是非法码。余码中是非法码。余3 3码也是一种对码也是一种对9 9的自的自补码,也就是说补码,也就是说0 0和和9 9、1 1和和8 8、2 2和和7 7、3 3和和6 6、4 4和和5 5等任一组的余等任一组的余3 3码相加都码相加都可以得到可以得到11111111。格雷码也是一种无权码,其编码方案较多,在上表格雷码也是一种无权码,其编码方案较多,在上表2-2中给出了格雷中给出了格雷码的一种编码方案。可以发现格雷码的任何两个相邻编码只有一个二进码的一种编码方案。可以发现格雷码的任何两个相邻编码只有一个二进制位不同,这也正是格雷码的编码特

38、点。制位不同,这也正是格雷码的编码特点。 2.22.2 其他信息的表示其他信息的表示 2.2.1 字符信息在计算机中的表示字符信息在计算机中的表示 现代计算机中不仅进行数值计算,而且要处理大量非数值的问题。特现代计算机中不仅进行数值计算,而且要处理大量非数值的问题。特别是处理办公领域的文本信息。字符是计算机中使用最多的信息形式之一,别是处理办公领域的文本信息。字符是计算机中使用最多的信息形式之一,是人与计算机交互、通信的工具。在计算机中,要为每个字符指定一个确是人与计算机交互、通信的工具。在计算机中,要为每个字符指定一个确定的编码,作为输入、存储、处理和输出有关字符的依据。字符编码也是定的编码

39、,作为输入、存储、处理和输出有关字符的依据。字符编码也是利用二进制数的符号利用二进制数的符号“0 0”和和“1 1”进行的。进行的。目前国际上普遍采用的字符系统是用目前国际上普遍采用的字符系统是用7位二进制信息表示的美国国家位二进制信息表示的美国国家信息交换标准码(信息交换标准码(American Standard Code for Information Interchange),),简称简称ASCII码。码。ASCIIASCII码可表示码可表示1010个十进制数字个十进制数字0 09 9,2626个英文字母,通用运算符号个英文字母,通用运算符号、/ /、= =、以及标点符号等共计、以及标点

40、符号等共计9595个可显示字符;另个可显示字符;另外还有外还有3333个编码,作为控制字符,控制计算机和一些外部设备的操作。个编码,作为控制字符,控制计算机和一些外部设备的操作。ASCIIASCII码和码和128128个字符的对应关系如表个字符的对应关系如表2-32-3所示。一个字符在计算机中所示。一个字符在计算机中占据一个字节,用占据一个字节,用8 8位二进制数表示。位二进制数表示。 表表2-3 ASCII字符编码字符编码 ASCII ASCII是是128128个字符组成的字符集。其中编码值个字符组成的字符集。其中编码值0 03131不对应任何不对应任何可印刷(或称有字形)字符,通常称它们为

41、控制字符,用于通信中的通信可印刷(或称有字形)字符,通常称它们为控制字符,用于通信中的通信控制或对计算机设备的功能控制。编码值为控制或对计算机设备的功能控制。编码值为3232的是空格(或间隔)字符的是空格(或间隔)字符SPSP。编码值为编码值为127127的是删除控制的是删除控制DELDEL码。其余的码。其余的9494个字符称为可印刷字符个字符称为可印刷字符( (若把若把空格也计入可印刷字符时,则称有空格也计入可印刷字符时,则称有9595个可印刷字符个可印刷字符) )。请注意:这种字符。请注意:这种字符编码中有如下两个规律:编码中有如下两个规律:1字符字符09这这10个数字符的高个数字符的高3

42、位编码为位编码为011,低,低4位为位为00001001。当去掉高当去掉高3位的值时,低位的值时,低4位正好是二进制形式的位正好是二进制形式的09。这既满足正常的排。这既满足正常的排序,又有利于完成序,又有利于完成ASCII码与二进制数之间的类型转换。码与二进制数之间的类型转换。 2英文字母的编码值满足正常的字母排序关系,且大、小写英文英文字母的编码值满足正常的字母排序关系,且大、小写英文字母编码的对应关系相当简便,差别仅表现在字母编码的对应关系相当简便,差别仅表现在b5一位的值为一位的值为0或或1,有利,有利于大、小写字母之间的编码变换。于大、小写字母之间的编码变换。ASCII每个字符用每个

43、字符用7位二进制数表示,位二进制数表示,其排列顺序为其排列顺序为b6、b5、b4、b3、b2、b1、b0,在表中,在表中b6b5b4为高位部分,为高位部分,b3b2b1b0为低位部分。共有为低位部分。共有2324=816=128个字符。前三位表示个字符。前三位表示23=8列,列,各列分配规律如下:各列分配规律如下:000,001列为控制字符;列为控制字符;010列为运算符号等;列为运算符号等;011列为数字符;列为数字符;100,101二列为大写英文字母;二列为大写英文字母;110,111二列为小写英文二列为小写英文字母。后四位字母。后四位24=16行。为列内编码。计算机内一个字符实际上是行。

44、为列内编码。计算机内一个字符实际上是8位二位二进制数,其最高位进制数,其最高位b7规定为规定为0,当需要进行校除时,当需要进行校除时,b7可用来作为奇偶校可用来作为奇偶校验位。验位。 2.2.2 声音在计算机中的表示声音在计算机中的表示 声音是是通过空气传播的一种连续的波,叫声波。声音的强弱体声音是是通过空气传播的一种连续的波,叫声波。声音的强弱体现在声波压力的大小上,音调的高低体现在声音的频率上。声音用电表现在声波压力的大小上,音调的高低体现在声音的频率上。声音用电表示时,声音信号在时间和幅度上都是连续的模拟信号(如下图示时,声音信号在时间和幅度上都是连续的模拟信号(如下图a a)。因)。因

45、此,声音不能直接进入计算机存储,需要进行数字化。数字化的过程涉此,声音不能直接进入计算机存储,需要进行数字化。数字化的过程涉及到两个步骤:及到两个步骤: 第一步,对声音进行采样。所谓采样是指在某些特定的时刻对声第一步,对声音进行采样。所谓采样是指在某些特定的时刻对声音的这种模拟信号进行测量。首先,由麦克风、录音机等拾音设备把声音的这种模拟信号进行测量。首先,由麦克风、录音机等拾音设备把声音信号变成频率、幅度连续变化的电流信号,然后通过采样器每隔固定音信号变成频率、幅度连续变化的电流信号,然后通过采样器每隔固定时间间隔对声音的模拟信号截取一个幅值(离散值),如下图时间间隔对声音的模拟信号截取一个

46、幅值(离散值),如下图b b。 第二步就是量化,用专门的模第二步就是量化,用专门的模/ /数转换电路将每一个的离散值换数转换电路将每一个的离散值换成一个成一个n n位二进制表示的数字量,如下图位二进制表示的数字量,如下图c c,这已是计算机能接受的数据,这已是计算机能接受的数据形式,进一步编码压缩后,就可以以声音文件送入计算机存储。形式,进一步编码压缩后,就可以以声音文件送入计算机存储。当计算机播放声音时,将声音文件解码还原成模拟信号,通过音响当计算机播放声音时,将声音文件解码还原成模拟信号,通过音响设备输出。设备输出。 图图2-5 声音的数字化过程声音的数字化过程 2.2.3 图形图像在计算

47、机中的表示图形图像在计算机中的表示 (一一) 位图图像的计算机表示位图图像的计算机表示 由于计算机只能处理数字数据,所以把视觉图像转换为由点阵构成由于计算机只能处理数字数据,所以把视觉图像转换为由点阵构成用二进制表示的数字化图像,其转化过程包括如下两个步骤:用二进制表示的数字化图像,其转化过程包括如下两个步骤: 第一步,抽样。将图像在二维空间上的画面分布到矩形点阵的网状第一步,抽样。将图像在二维空间上的画面分布到矩形点阵的网状结构中,矩阵中的每一个点称为像素点,分别对应图像在矩阵位置上的一个结构中,矩阵中的每一个点称为像素点,分别对应图像在矩阵位置上的一个点,对每个点进行抽样,得到每个点的灰度

48、值。显然,矩阵中有图像信息的点,对每个点进行抽样,得到每个点的灰度值。显然,矩阵中有图像信息的点与无图像信息处的点灰度值不同,而且同是有图像信息的点与点之间,其点与无图像信息处的点灰度值不同,而且同是有图像信息的点与点之间,其灰度值也会因为色彩、明亮层次不同也有差异。如果每个像素点的灰度值只灰度值也会因为色彩、明亮层次不同也有差异。如果每个像素点的灰度值只取取0 0、1 1两个值,图像点阵只有黑白之分,称二值图像。如果允许像素点的灰两个值,图像点阵只有黑白之分,称二值图像。如果允许像素点的灰度值越多,图像能表现的层次、色彩就越丰富,图像在计算机上的再现性能度值越多,图像能表现的层次、色彩就越丰

49、富,图像在计算机上的再现性能就越好。就越好。 第二步,量化。把把灰度值转换成第二步,量化。把把灰度值转换成n n位二进制表示的数值称为量化。位二进制表示的数值称为量化。一幅视觉图像经过抽样与量化后,转化为由一个个离散点的二进制数一幅视觉图像经过抽样与量化后,转化为由一个个离散点的二进制数组成的数字图像,这个图像称为位图图像,在实际中,图像的采集要用特组成的数字图像,这个图像称为位图图像,在实际中,图像的采集要用特殊的数字化设备,比如扫描仪,它对已有照片、图片进行扫描,扫入的图殊的数字化设备,比如扫描仪,它对已有照片、图片进行扫描,扫入的图像经过上述两个步骤变成位图图像,就可以直接放入计算机中存

50、储起来了。像经过上述两个步骤变成位图图像,就可以直接放入计算机中存储起来了。 下图下图2-6包含了矩形、三角形、直线、圆等形状,它完全可以用一个个离散包含了矩形、三角形、直线、圆等形状,它完全可以用一个个离散点的二进制值表示成位图图像,但是对这类图像,计算机长使用另一种处理方法:点的二进制值表示成位图图像,但是对这类图像,计算机长使用另一种处理方法:图像采集设备输入图像后对图像依据某种标准进行分析、分解,提取出具有一定图像采集设备输入图像后对图像依据某种标准进行分析、分解,提取出具有一定意义的独立的信息单元意义的独立的信息单元图元,例如一段直线、一个矩形、一个圆等等,并设计图元,例如一段直线、

51、一个矩形、一个圆等等,并设计一系列指令,用指令描述一个个的图元及各图元之间的联系,于是一幅原始图像一系列指令,用指令描述一个个的图元及各图元之间的联系,于是一幅原始图像以一组有序的指令形式存入计算机。当计算机要显示一幅存储的图像时,只需读以一组有序的指令形式存入计算机。当计算机要显示一幅存储的图像时,只需读取指令、逐条解释执行指令,就可以将指令描述的图重新组合成图像输出。因为取指令、逐条解释执行指令,就可以将指令描述的图重新组合成图像输出。因为图像不是直接用画面的每一个像素点来描述,而是用图元序列描述,图像的这种图像不是直接用画面的每一个像素点来描述,而是用图元序列描述,图像的这种表示方式称之

52、为图形,或矢量图形。表示方式称之为图形,或矢量图形。 (二二).图形的计算机表示图形的计算机表示图图2-6 图形图形 2.3 2.3 数据校验码数据校验码 保证计算机内的信息的正确对计算机的工作至关重要。由于信息在保证计算机内的信息的正确对计算机的工作至关重要。由于信息在计算机中存取、传输、运算过程中难免发生诸如计算机中存取、传输、运算过程中难免发生诸如1误变为误变为0的错的错误,为此,计算机一方面从电路、电源、布线等方面采取许多措施提高误,为此,计算机一方面从电路、电源、布线等方面采取许多措施提高机器的稳定性和抗干扰能力,另一方面就是在数据的编码上下工夫了。机器的稳定性和抗干扰能力,另一方面

53、就是在数据的编码上下工夫了。通常采用的方法是对数据信息扩充,加入新的代码,与原数据一起按某通常采用的方法是对数据信息扩充,加入新的代码,与原数据一起按某种规律编码后,使扩充的新数据具有发现数据出错的能力,甚至能指出种规律编码后,使扩充的新数据具有发现数据出错的能力,甚至能指出出错的具体位置,并自动加以改正。这种具有指出错误或改正错误能力出错的具体位置,并自动加以改正。这种具有指出错误或改正错误能力的编码称为校验码(的编码称为校验码(Check Code)。数据校验码的种类很多,这里介绍)。数据校验码的种类很多,这里介绍几种常见的编码方法。几种常见的编码方法。 2.3.1 奇偶校验码奇偶校验码

54、(一)(一).奇偶校验概念奇偶校验概念奇偶校验码是一种最简单也是最常用的数据校验码,可以检测出一位错奇偶校验码是一种最简单也是最常用的数据校验码,可以检测出一位错误(或奇数位错误),但不能确定出错的位置,也不能检测出偶数位错误。误(或奇数位错误),但不能确定出错的位置,也不能检测出偶数位错误。奇偶校验实现方法是:在奇偶校验实现方法是:在n n位长的有效信息(如一个字节)上增加一个位长的有效信息(如一个字节)上增加一个二进制位作为校验位,放在二进制位作为校验位,放在n n位代码的最高位之前或者最低位之后,组成位代码的最高位之前或者最低位之后,组成n n1 1位的编码。这个校验位的取值(位的编码。

55、这个校验位的取值(0 0或或1 1)将使整个校验码中)将使整个校验码中“1”1”的个数为奇的个数为奇数或偶数,所以有两种可供选择的校验规律:数或偶数,所以有两种可供选择的校验规律:奇校验奇校验整个校验码(有效信息位和校验位)中整个校验码(有效信息位和校验位)中“1”1”的个数为奇数的个数为奇数.偶校验偶校验整个校验码中整个校验码中“1”的个数为偶数。的个数为偶数。 1位n位有效信息位奇偶校验位奇偶校验码图图2-7 奇偶校验码奇偶校验码 (二)(二)交叉奇偶校验交叉奇偶校验计算机在进行大量字节(数据块)传送时,不仅每一个字节有一个奇计算机在进行大量字节(数据块)传送时,不仅每一个字节有一个奇偶校

56、验位做横向校验,而且全部字节的同一位也设置一个奇偶校验位做纵偶校验位做横向校验,而且全部字节的同一位也设置一个奇偶校验位做纵向校验,这种对数据块的横向、纵向同时校验的方法称为交叉校验。向校验,这种对数据块的横向、纵向同时校验的方法称为交叉校验。例如:如下有例如:如下有4个字节信息组成的数据块,每个字节的最高位为个字节信息组成的数据块,每个字节的最高位为A7 ,最低位为最低位为A0 。约定横向、纵向均采用奇校验,各校验位取值如下:。约定横向、纵向均采用奇校验,各校验位取值如下: A A7 7 A A6 6 A A5 5 A A4 4 A A3 3 A A2 2 A A1 1 A A0 0 横向校

57、验位横向校验位 第第1 1字节字节 1 1 0 0 1 0 1 1 1 1 0 0 1 0 1 1 0 0 第第2 2字节字节 0 1 0 1 1 1 0 0 0 1 0 1 1 1 0 0 1 1 第第3 3字节字节 1 0 0 1 1 0 1 0 1 0 0 1 1 0 1 0 1 1 第第4 4字节字节 1 0 0 1 0 1 0 1 1 0 0 1 0 1 0 1 1 1 纵向校验位纵向校验位 1 0 0 1 1 0 0 01 0 0 1 1 0 0 0 交叉校验可以发现两位同时出错的情况,假设第交叉校验可以发现两位同时出错的情况,假设第2 2字节的字节的A6A6、A4A4两位均出错,

58、横向校验位无法检出错误,但是第两位均出错,横向校验位无法检出错误,但是第A6A6、A4A4位所在列的纵向位所在列的纵向校验位会显示出错,当然在这种情况下,虽然能检出错误还不能确定出校验位会显示出错,当然在这种情况下,虽然能检出错误还不能确定出错位置,但这与前述的简单奇偶校验相比要保险多了。错位置,但这与前述的简单奇偶校验相比要保险多了。如果只有一位信息出错,比如只有第如果只有一位信息出错,比如只有第2字节的字节的A2 由由1变为变为0出错,则出错,则不仅能检出错,而且还能确定出错位置。不仅能检出错,而且还能确定出错位置。 2.3.2 循环冗余校验码循环冗余校验码 在计算机网络、同步通信以及磁表

59、面存储器中广泛使用循环冗余在计算机网络、同步通信以及磁表面存储器中广泛使用循环冗余校验码(校验码(Crclic Redundancy CheckCrclic Redundancy Check),简称),简称CRCCRC码。它是一种具有很强码。它是一种具有很强检错、纠错能力的校验码。因为循环冗余校验码的编码原理复杂,这里检错、纠错能力的校验码。因为循环冗余校验码的编码原理复杂,这里免去数学证明,只对免去数学证明,只对CRCCRC码的编码方式及实现做简单介绍。码的编码方式及实现做简单介绍。循环冗余校验码是通过除法运算来建立有效信息位和校验位之间的循环冗余校验码是通过除法运算来建立有效信息位和校验位

60、之间的约定关系的。假设,待编码的有效信息以多项式约定关系的。假设,待编码的有效信息以多项式M(X)表示,将它左移若表示,将它左移若干位后,用另一个约定的多项式干位后,用另一个约定的多项式G(X)去除,所产生的余数去除,所产生的余数R(X)就是检验就是检验位。有效信息和检验位相拼接就构成了位。有效信息和检验位相拼接就构成了CRC码。这里的码。这里的G(X)称为生成多称为生成多项式。当整个项式。当整个CRC码被接收后,仍用约定的生成多项式码被接收后,仍用约定的生成多项式G(X)去除,若余去除,若余数为数为0表明该代码是正确的;若余数不为表明该代码是正确的;若余数不为0表明某一位出错,再进一步由表明

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论