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

下载本文档

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

文档简介

第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是模, 对于正数 X0.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的反复循环,这就是循环码名称的由来。,这些余数指出了循环码中的出错位,可用作纠错的依据,而纠错只需对出错位取反即可,小 结,本章主要介绍数据在计算机中的表示方法和校验方法。数据分为两类,一类为数值数据;另一类为非数值数据,它们都是计算机加工处理的对象,都以编码形式表示。 根据编码方法的不同,机器数有原码、反码、补码和移码之分,由于补码表示法(编码法)符号位既数码化也数值化,故许多计算机采用补码表示法,以方便对数据进行运算处理 数值数据在计算机中可采用两种格式进行表示,一种是定点格式,另一种是浮点表示法如何将数值数据表示成机器要求的定点格式或浮点格式,以及实现机器数间的转换是本章的

温馨提示

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

评论

0/150

提交评论