计算机中数据的表示法.ppt_第1页
计算机中数据的表示法.ppt_第2页
计算机中数据的表示法.ppt_第3页
计算机中数据的表示法.ppt_第4页
计算机中数据的表示法.ppt_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

第2章 计算机中数据的表示法,2.1 非数值数据表示法,计算机中的各种信息都以二进制形式出现,都可以用二进制数进行表示。 计算机内部流动的信息可分为数据信息、地址信息、状态信息和控制信息。数据信息是计算机加工处理的对象,而控制信息则控制着对数据进行加工、处理的过程。,计算机中的数据可分为两类: 数值数据有确定的值,有大小、正负之分,能在数轴 上找到它们确切的位置 非数值数据又称符号数据,一般用来表示符号或文 字,没有值的含义。,b6 b5 b4 000 001 010 011 100 101 110 111 b3 b2 b1 b0 0000 NUL DLE SP 0 P , p 0001 SOH DC1 ! 1 A Q a q 0010 STX DC2 “ 2 B R b r 0011 ETX DC3 # 3 C S c s 0100 EOT DC4 $ 4 D T d t 0101 ENQ NAK % 5 E U e u 0110 ACK SYN K k 1100 FF FS , N n 1111 SI US / ? O _ o,2.1.1 字符表示法,返回,ASCII字符编码集,注: NUL 空白 SOH 序始 STX 文始 ETX 文终 EOT 送毕 ENQ 询问 ACK 承认 BEL 告警 BS 退格 HT 横表 LF 换行 VT 纵表 FF 换页 CR 回车 SO 移出 SI 移入 DEL 转义 DC1 机控1 DC2 机控2 DC3 机控3 DC4 机控4 NAK 否认 SYN 同步 ETB 组终 CAN 作废 EM 载终 SUB 取代 ESC 扩展 FS 卷隙 GS 群隙 RS 录隙 US 元隙 SP 间隔 DEL 抹掉,图2.1 字符串的存放,从n号字节地址单元开始存放信息“HOW ARE YOU”,2.1.2 汉字表示法,为了使计算机能处理中文,我国在1981年制定了国家标准“信息交换用汉字编码字符集GB2312-80”,同英文字符一样汉字也要采用编码表示的,汉字的编码有“内码”与“外码”之分。 内码 是汉字在计算机内部的存储、交换、检索等时的信息代码,常称为机内码。汉字的内码用2个字节表示以每个字节最高位都为1作汉字内码的特征,以区别于英文字符编码 外码 是指汉字输入方式汉字输人的方式有字元输人法、拼音输入法等。当选定一种方式输入时,一组特定的字母数字串被输入到计算机,然后由软件转换为机内码。,2.2 数值数据表示法,2.2.1 数的定点表示与浮点表示,1定点表示法,定点格式 即约定机器中所有数据的小数点位置是固定不变的。 通常采用纯小数或纯整数来表示数 目前计算机中多采用定点纯整数 N位数在计算机中的表示为:,x0为另加的符号位,(1)定点小数,小数点,小数点位于x0和x1之间 数的表示范围:0|x|1-2n,(2)定点整数,小数点位于最低位xn的右边 数的表示范围:0|x|2n -1,小数点,2浮点表示法,(1) 浮点数的表示,对于任意一个二进制数N,总可以表示成 N 2EM 2e(m) 式中,E为数N的阶码; M为数N的尾数,浮点数一般由阶符、阶值、尾符、尾数值4个部分组成。在计算机中一种常用的格式为:,阶符 阶 值 数符 尾数值,例子:假设机器中的数由8位二进制数表示(包括符号位) 在定点机中这8位全部用来表示有效数字(包括符号); 在浮点机中若阶符阶码占3位,数符尾数占5位,(2)浮点数的表示范围和规格化数,数据的表示示例:,Bit位:,1 7 1 3 4 1 3 4,定点和浮点表示方式比较:,规格化 目标是同一个浮点数的表示是惟一的 |m|0.5 m=1.M 另一好处是提高了数据的表示精度 方法是通过修改阶码来移动小数点位置,2.2.2 机器数的表示, 机器数或机器码: 数值数据有正负之分。 正负符号数码化后的数据称为机器数,1原码表示法, 定点小数的原码表示的是: 对于正数 X0.X1X2Xn 有 X原0.X1X2Xn 对于负数 X0.X1X2Xn 有 X原1.X1X2Xn, 若X的原码形式为X0.X1X2Xn,其中x0为符号位,则原码表示法的定义为:,式中,X原为机器数;X为真值。, 原码表示法有以下两个特点: 零的原码表示有“0”和“0”之分,分别为: 0.000原0.000 0.000原1.000 符号位的取值由下式决定:, 模数 3 = +9 (mod 12) 含义是, 3与+9对模12是互补的, 或者说以12为模时3的补码为+9 同样: -4 = + 8 (mod 12) -4 = + 6 (mod 10) 示例1 求模为10时4的补码,可由 10(4)6 得到4的补码为6。 示例2 以10为模计算72。由于 727(2) 而2的补码为8,故可通过加上2的补码8来运算,即 7815 运算结果多了一个模值,去掉后得5。,2补码表示法,图片演示, 对于二进制纯小数0.X1X2Xn可取模为2获得补码,下面以模为2讨论补码表示法:,纯小数X对模2的补码定义为 X补2X (mod 2) 若XO,则模2舍去,形式为0.X1X2Xn 若XO,作减法,X补2X2|X| 则形式为1.Y1Y2Yn,示例1 若 X0.1010 则 X补20.10100.1010 示例2 若 X-0.1010 则 X补20.10101.0110, 一般,若X的补码形式为X0.X1X2Xn,其中X0为符号位,则其补码表示的定义为,X补,X 0X1 2X2|X| 1X0 式中,X补表示数X的补码;X为真值;2是模, 对于正数 X+0.X1X2Xn 有 X补0.X1X2Xn 对于负数 X0.X1X2Xn 有 Xl补10.0000.X1X2Xn 对于0,在补码的定义下只有一种表示形式,即 0.000补0.000补0.000,3反码表示法, 若X的反码形式为X0.X1X2Xn,其中X0为符号位,则其反码表示法的定义为,示例 若X+0.1011 则 X反01011 若X0.1011 则 X反1.11110.10111.0100 可见,若X0.X1X2Xn ,则X反0.X1X2Xn 若X-0.X1X2Xn,则X反1.X1X2Xn, 对于0,反码有“+0”和“0”之分: 0.000反0.000 0.000反1.111 比较求负数的反码和补码的公式: X反22-n|X| X补2|X| 可得 X补X反2-n, 通过以上讨论,不难发现:(重要) 正数的原码、补码和反码有相同的形式,即 X原X补X反0.X1X2Xn 负数的原码,可通过将符号位置1并保持数值部分不变而得到。 负数的反码和补码符号位均为1; 反码的数值部分可将原码的数值部分各位取反获得,补码的数值部只需在反码的末位加1便可得到。 综上所述,求与真值相应的机器数,可不按机器数的 数学定义去求,只要掌握上述规律就可以方便地将 转换成机器数。,例2.1 已知X0.100101,求X的原码、反码和补码。 解 X原0.100101 X反0.100101 X补0.100101 例2.2 已知X0.100101,求X的原码、反码和补码 解 X原1.100101 X反1.011010 X补1.011011 将机器数转换成真值是将真值转换成机器数的逆过程。 示例 若X原0.101100 则 X0.101100 若X原1.101100 则 X0.101100 若(X反0.101011 则 X0.101011 若X反1.010101 则 X0.101010 若X补0.101110 则 X0.101110 若X补1.101100 则 X0.010100,4移码表示法,移码表示法也叫增码表示法,多用于表示浮点数的阶码。, 设阶值为n位整数表示时,移码形式为: X0X1X2Xn X0仍为符号位, 则移码的定义是: X移2nX 2nX2n 式中,X移为机器数;X为真值。, 设数值部分为6位,以X表示真值,则 X移26X 示例 若X101011 则 X移261010111101011 若X- 101011 则 X移261010110010101, 移码最高位仍为符号位,显然移码的符号位表示的 规律与原码、反码、补码是相反的。即: 正数为1,负数为0, 移码数值部分: 正数与真值相同; 负数是将真值部分“各位取反末位加1”,数值部分 与补码相同。,减128,加128,阶码E(移码表示):,指数e:,【例】将十进制真值x(-127,-1,0,+1,+127)列表表示成二进制数及原码、反码、补码、移码值。,解:二进制真值x及其诸码值列于下表,其中0在x原, x反中有两种表示。由表中数据可知,补码值与移码 值差别仅在于符号位不同。,2.2.3 十进制数的表示,用二进制数码表示十进制数称为二进制编码的十进制数,简称BCD码,1十进制数的二进制编码,表示一位十进制数需要4位二进制数进行编码,因为十进制数有09共10个数码。,因此, 选择其中的10种作BCD码的方案有许多种,这里只介绍常用的“8421码”、“2421码”和“余3码”。,(1) 8421码,8421码是最自然、最易被人接受的编码,它选取4位二进制编码的前10个代码分别对应表示十进制数的10个数码,而10101111这6个代码未被选用。, 8421码是有权码,从左到右的位权依次是8、4、2、1,(2) 2421码,2421码选取了4位二进制编码序列中的前5个和后5个编码,对应表示了十进制数09。, 2421码是有权码,从左到右的位权依次是2、4、2、1,常用的3种BCD码,(3) 余3码,余3码从4位二进制编码序列中选中了中间的10个编码00111100对应表示十进制数码的09,其它编码未被选用。, 余3码是无权码,2十进制数串在机器中的表示,十进制数串由多位十进制数码组成,每位均由BCD码表示。 十进制数串在机器中的表示形式主要有以下两种。,(1) 字符串形式 字符串形式是用一个字节存放一个十进制数位,用连续多个字节表示一个完整的十进制数,为了指明这个数据需要指出该数据在主存中的起始地址和位数。,(2) 压缩的十进制数串形式,压缩十进制数串形式是用一个字节存放两个十进制数位,它比前一种形式节省了存储空间又便于直接对十进制数进行运算,是较好的一种表示形式。,例如,用这种形式表达十进制数串-356时,若十进制数串用8421码表示,如下:,其中,负号可选用8421码中未选用的编码1101表示,正号用1100表示,一般可选定符号位在数据位之后,2. 3 数据信息的校验,2.3.1 奇偶校验,数据在传送过程中会出现错误,如何发现或纠正数据传送过程中出现的错误,是本节讨论的主要问题。, 奇偶校验约定: 奇校验码(包含被校验信息和校验位)中1的个数为奇数,而偶校验码中1的个数为偶数,三种常用的检错纠错码: 奇偶检错码, 用于并行数据传送中 海明检错与纠错码, 用于并行数据传送中 循环冗余码, 用于串行数据传送中,表2.3 校验位的取值, 校验位的取值与校验方式的选定及被校验信息有关, 设被校验的信息Bblb2b3b4b5b6b7b8,校验位为P,则校验码的形式为blb2b3b4b5b6b7b8P。 奇校验位P的取值: P b1b2b3b4b5b6b7b8,偶校验位P的取值: P b1b2b3b4b5b6b7b8, 奇偶校验只具有发现出错的能力,不具有对出错 位定位继而纠正错误的能力。,偶校验码的实现电路,+,同左侧电路,编码电路,译码电路,P (校验位),八位数据位,D7 D6 D5 D4 D3 D2 D1 D0,p,偶校验 偶校验出错指示,2.3.2 海明校验,海明校验不仅具有检测出错的能力,还具有指出错误所在位置的能力。这里只介绍一种具有检出某位出错的海明码。 奇偶校验只有一个校验位,只能指示出错与否如果将被校验信息按某种规律分成若干组,每组一个校验位作奇偶测试,这样就能提供多位检错信息,指出哪位出错,为纠错提供依据,这就是海明码的基本思想。,1校验位的位数,设海明码为N位,其中被校验信息为k位,校验位为r位,即分成r组作奇偶校验,这样就能产生r位检错信息。r位信息构成一个指误字,指误字有2r种状态,其中一种状态表示无错误,余下的2r1种状态,就能指出2r1位中某位出错, 如果要求指出纠正一位出错,则校验位的位数的确定应满足关系式 Nk+r2r1 例如,r3,则Nk+37,所以k4。也就是4位被校验的信息应配3位校验码才能实现校验。,表2.4 被校验信息位数与所需校验位位数,2海明码的形成,设被校验信息为b1b2bk,校验位为P1P2Pr, 它们构成的海明码为:H1H2H3Hn,n=r+k 让Pj 占据海明码中第2j-1 位,而b1b2bk依序见空占位。,示例 若N11,其中k7,则r4的海明码可表示为,(1)分组原则,表25 海明码每位所占用的校验位(k=7),表2,6 每位校验位所校验,(2)校验位的取值,下面以被校验信息为4位,校验位r3为例具体说明海明码的编码原理,设4位被校验信息为b1b2b3b41011,校验位分别为P1、P2、P3。当分组采用偶校验时, P1b1b2b41010 P2b1b3b41111 P3b2b3b40110,即P1校验着b1、b2和b4,它们作为一个小组,由于被校验信息是已知的b11,b20,b41,所以当分组采用偶校验时, P10,同理P21, P30。这样海明码为H1H2H3H4H5H6H7P1P2b1P3b2b3b40110011。,(3)指错、纠错原理,指误字由G3G2G1组成。其中, G3P3b2b3b4 G2P2b1b3b4 G1P1b1b2b4,2.3.3 循环校验,循环校验也是一种具有指错和纠错功能的一种校验方式。为了能指出出错位的位置,循环校验码位数N应满足关系Nk+r2r1。其中,K为被校验信息的位数,r为校验位的位数,1循环码的形式,循环码是一种基于模2运算建立编码规律的校验码,它通过模2运算建立被校验信息和校验位之间的关系。,模2运算的规则如下:,模2加法 按位加不考虑进位,其规则是000,011,101,110。 例如,101111010110。,模2减法 按位减不考虑错位,其规则是000,011,101,110。 例如,101111010110,模2乘法 按模2加求部分积之和,求和时不考虑进位例如,110110101110010,模2除法 求商的规则是:余数的首位为1,则商上1;余数的首位为0,则商上0。按模2减法求部分余数,每求一位商使部分余数减少一位,当余数位数小于除数时为最后余数。 例如:10000101商为101,余数为01。,为了表示被除数、除数、商及余数间的关系,常将它们表示成二进制多项式形式设二进制数Bb3b2b1b0,它的二进制多项式可以写成 B(X)b3X3b2X2b1X1b0X0 例如,B1101可表示成B(X)X3X2+1。,设被校验数据以多项式M(X)表示,用一个约定的多项式G(X)去除,得到商为Q(X)和余数R(X),即 M(X)Q(X)G(X)R(X) M(X)R(X)Q(X)G(X) 显然M(X)R(X)必定能为G(X)除尽。,若以M(X)R(X)作为校验码向目的部件传送,当从目的部件取得校验码时仍用约定的G(X)去除,若余数为0,则表明该校验码正确;若余数不为0:则表明有错,这便是循环校验的基本思想可见获得校验码的关键是要获取R(X)而要获得R(X),就必须确定G(X),称G(X)为校验码的生成多项剑,例2.3 对4位被校验数据1101进行循环校验编码 选择生成多项式G(X)1011。,解 循环校验码形成的过程如下。,(1)将被校验信息1101表示成多项式: M(X)X3X21,(2)将M(X)左移r位,得M(X)Xr,以便拼装r位余数(校验位): M(X)X3X6X5X31101000,(3)用r1位生成多项式G(X)对M(x)Xr作模2除:,(4)将左移r位的被校验信息与余数R(x)作模2加(减),即 形成循环校验码N1N2N3N4N5N6N7: M(X)X3R(X)11010000011101001 这个校验码称为(7、4)码,即N7, k4, NN1N2N3N4N5N6N71101001。,由于要求r位余数,所以G(X)应取r+1位。,2循环码的指错、纠错原理, 设目的部件接收到循环码后,用约定的G(X)去除: 若余数为000,则无错; 如果循环码中有一位出错,则得到一个不为0的余数。,上例中设第7位出错,则余数将为001,若对余数补0后继续除下去,则各次余数将依次为010、100、011、110、111、101,它们分别表示第6到第1位出错,若再继续将余数低位补0除下去,又可得到余数001到101的反复循环,这就是循环码名称的由来。,这些余数指出了循环码中的出错位,可用作纠错的依据,而纠错只需对出错位取反即可,小 结,本章主要介绍数据在计算机中的表示方法和校验方法。数据分为两类,一类为数值数据;另一类为非数值数据,它们都是计算机加工处理的对象,都以编码形式表示。 根据编码方法的不同,机器数有原码、反码、补码和移码之分,由于补码表示法(编码法)符号位既数码化也数值化,故许多计算机采用补码表示法,以方便对数据进行运算处理 数值数据在计算机中可采用两种格式进行表示,一种是定点格式,另一种是浮点表示法如何将数值数据表示成机器要求的定点格式或浮点格式,以及实现机器数间的转换是本章的重点内容。 非数值数据没有大小、正负之分,它的编码与字符间仅为一种一一对应表示的关系。 数据信息的校验主要解决的问题是:数据在计算机中传送可能会出错。为了 能发现出错与纠正出错,对传送的数据进行编码处理即形成校验码,以校验码的形式对数据进行传送,当传送的数据出错时及时指出或自动纠正。,2.1 解释下列术语: 机器数 BCD码 有权码 校验码 2.2 写出下列各数的原码、反码和补码: 0, 0,0.11010, 0.11011, 0.10000, 0.11111 2.3 已知X)补形式为0.11010,1.01101,1.00100,求X及X补 2.4 设定点字数的补码形式为X0X1X2X7,其中X0为符号位,求模为多少? 2.5 已知X补11101100, 求1/2X补, 1/4X补, 2X补, 4Xl补。 2.6 分别写出十进制数756的8421码、2421码和余3码。 2.7 在数的浮点表示中,数的正负由什么决定?数的精度由什么决定?表示数的范围又由什么决定?,习 题 二,2.8 设被校验信息为10101101,试分别写出它的奇校验码和偶校验码。 2.9 8421码、余3码、2421码、ASCII码这些编码中哪些是有权码?哪些是无权码? 2.10 计算机中的数据可以分为哪几类?数值数据在计算机中有哪几种表示格式? 2.11 已知X补0001001,试将X补表示成浮点补码规格化数形式,其中,阶码4位,尾数为8位(各含一位符号位) 2.12 “BCD码就是二进制数”,这种说法对吗? 2.13 设8位被校验信息为01101110,试写出它的海明校验码并给出指误字及其逻辑表达式 2.14 设被校验信息为1100,选用G(X)X3+X+1为生成多项式,求(7、4)循环校验码 2.15 已知浮点数X)补1011 100000,其中,阶码为4位,尾数为6位(各含一位符号位),求X。,2.4 逻辑代数与逻辑电路,2.4.1 逻辑代数 逻辑代数是一种二值代数,它可对逻辑电路的功能进行描述,可用于逻辑电路的设计与分析。它描述变量之间的关系运算,变量的取值只有两种:1或者0。 这里的1或0不是量的区别而是质的区别。 本节讨论几种基本的逻辑运算。,1 . 逻辑与(逻辑乘)运算,逻辑与运算简称与运算 运算符号:或或 运算规则 设逻辑变量为A和B运算结果为F.当A和B的取值一定时,F就相应的被确定。 A和B的取值有四种不同组合,即00,01,10,11。它们间的运算规则如下: 0 0= 0 读作 0与0等于0,0 1= 0 读作 0与1等于0 1 0= 0 读作 1与0等于0 1 1= 1 读作 1与1等于1 可见当变量取值都为1时,运算结果才能为1。 逻辑表达式 F = AB 逻辑与运算可省去运算符,即F = AB。在描述某一事件时F表示事件,A、B为事件发生的条件,逻辑与含义当与事件相关的所有条件都成立时事件才能发生。,2 逻辑或运算(或运算), 运算符号 +或 运算规则 0 + 0 = 0读作 0或0等于0 0 + 1 = 1读作 0或1等于1 1 + 0 = 1读作 1或0等于1 1 + 1 = 1读作 1或1等于1 逻辑表达式 F=A+B,或运算中,若变量中只要有一个变量的取值为1,则运算结果为1。,3.逻辑非运算(逻辑求反), 运算符号 变量上方加横线表示。 运算规则 =1 读作 0的非等于1 =0 读作 1的非等于0 表达式 F =,4.逻辑异运算(异或运算), 运算符号: 运算规则 逻辑异运算包含基本运算中的与运算和或运算。规则是两个变量中仅一个取值为1时,F取值为1,否则F取值为0。 A B F 0 0 0 0 1 1 1 0 1 1 1 0, 逻辑表达式 F = A B 表达式的的实际含义是F =A + B,表达式中若 要使 A =1则必须A=1,B=0; B=1则必须A=0,B=1。两项中有一项与的结果为1则F=1。,2.4.2 逻辑门电路,计算机中各种复杂的控制都可以用与、或、非及复合的逻辑关系表示,满足这些逻辑关系的电路也相应被设计。计算机中复杂的电路都由实现基本逻辑运算的基本电路组成,这些基本电路通常称为逻辑门电路。与逻辑运算对应地有与门、或门、非门、异或门电路。本课程以较简单的线路介绍各种门电路的组成,并简要地说明它们的逻辑功能。,1.与门,与门是实现逻辑与运算的电路。 电路图(举例) 工作原理 二极管的单向导电性及钳位作用。 逻辑表达式 F = ABC 逻辑符号(用作表示、设计电路),2.或门,或门是实现或运算的逻辑门电路。 电路(举例) 工作原理 输入输出关系: 一高必高 全低才低 逻辑表达式 F = A+B+C 逻辑符号,3 .非门(反相器), 电路 工作原理 逻辑表达式 F= 逻辑符号,4.与非门(复合门电路), 电路(可以基本门电路组成) 电路组成工作原理 输入/输出关系 :一低/必高 全高/为低 逻辑表达式 逻辑符号,5.与或非门(复合门), 电路 组成、工作原理 只要有一个与门的输出为高电平则与或非门的输出为低电平。 逻辑表达式: 逻辑符号,6.异或门, 电路(复合门电路) 组成特征 工作原理 实用特征 逻辑表达式 F=A B 逻辑符号,7.三态输出(门)电路, 电路(复合门电路), 组成特征 工作原理, 组成特征工作原理 当E为高电平时,两或非门的上输入端都为低电 平,A端的电位决定了两个或非门的输出: A为高时,G2低G1高,T1导通T2截止,B输出高。 A为低时, G2高G1低,T1截止T2导通,B输出低。 当E为低电平时,两或非门的上输入端都为高电 平,无论 A态如何,G1,G2都为低电平,T1、T2都截止, B呈高阻状态。 实用特征:有选择地传送的信息,方便实现总线功能特征。 逻辑符号,2.4.3触发器与逻辑部件,1.加法器(逻辑部件) 真值表 逻辑表

温馨提示

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

最新文档

评论

0/150

提交评论