数据的表示与数据校验.ppt
《数据的表示与数据校验.ppt》由会员分享,可在线阅读,更多相关《数据的表示与数据校验.ppt(105页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、数据的表示与数据校验现在学习的是第1页,共105页本章主要内容数据表示形式的多样性二进制数值数据的编码格式 信息传输过程中的检错与纠错码现在学习的是第2页,共105页2.1 数据表示形式的多样性数值、文字、符号、语音、图形、图像等统数值、文字、符号、语音、图形、图像等统称数据,在计算机内部,都必须用称数据,在计算机内部,都必须用数字化编数字化编码码的形式被的形式被存储存储、加工加工、传送传送。数字化编码数字化编码二要素二要素少量简单的基本符号少量简单的基本符号一定的组合规则一定的组合规则表示表示大量复杂多样大量复杂多样的信息的信息现在学习的是第3页,共105页2.1.1 适合于人的数据表示形式
2、如时钟、十进制、语音数据、图形数据等。输入计算机之前的数据、计算机输出的数据都要力争符合人的习惯。现在学习的是第4页,共105页2.1.2 适合计算机的表示形式-编码采用二进制的理由符号个数最少,物理上容易实现(数字电路)。用二个状态如导通/截止,高/低电压等来表示,比用十个状态方便。用二进制码表示数值数据运算规则简单。加法和乘法各只有4条运算规则。十进制与二进制转换简单。与二值逻辑的真、假两个值对应简单。高电压1,低电压-0。现在学习的是第5页,共105页二进制无符号数据算术运算规则二进制无符号数据算术运算规则(1)加法运算规则加法运算规则 0+0=0 例如:例如:0101 0+1=1 +)
3、0001 1+0=1 0110 1+1=0 并产生进位并产生进位(2)减法运算规则减法运算规则 0-0=0 例如:例如:1011 0-1=1 并产生借位并产生借位 -)0101 1-0=1 0110 1-1=0现在学习的是第6页,共105页二进制数据算术运算规则(3)乘法运算规则 例如:1101 0X0=0 X)0101 0X1=0 1101 1X0=0 1101 1X1=1 1000001(4)除法运算规则 1101 例如:1110101/1001 1001 1110101 1001 1011 1001 01001 1001 0 0000现在学习的是第7页,共105页进位记数法与进制转换进位
4、记数法任何一个数都可以写成以下算式:N=Di*ri (i=-k,-k+1,.,m-1)N 代表一个数值r 是这个数制的基(Radix)。r=2,8,10,16,i表示这些符号排列的位号Di是位号为i的位上的一个符号ri是位号为i的位上的一个 1 代表的值Di*ri是第i位的所代表的实际值表示m+k位的值求累加和现在学习的是第8页,共105页计算机中常用的数制常用数制基数r基本符号第i位的权值二进制20,12i八进制80,1,2,3,4,5,6,78i十六进制160,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F16i十进制100,1,2,3,4,5,6,7,8,910i现在学习的是
5、第9页,共105页十-八-十六进制数据的二进制编码十进制数八进制数十六进制数十进制数八进制数十六进制数0000000081000100100019100120100010A101030110011B101141000100C110051010101D110161100110E111071110111F1111现在学习的是第10页,共105页例(101)2=(5)8=(5)16(101101011)2=(101 101 011)2 =(5 5 3)8(101101011)2=(1 0110 1011)2 =(1 6 B)16现在学习的是第11页,共105页十进制数二十进制编码(BCD码)表示法是
6、指用四位二进制数字来表示一位十进制数字。多位十进制数字表示为这种编码的数串。由于24=16个状态,而二进制只要10个状态,因此需要舍去其中6种状态。根据舍去状态的不同(有多种方案),BCD码分为有权码和无权码。现在学习的是第12页,共105页有权码无权码十进十进制数制数8421码码2421码码5211码码4311码码000000000000000001000100010001000120010001000110011300110011010101004010001000111100050101101110000111601101100101010117011111011100110081000
7、11101110111091001111111111111十进十进制数制数余余3码码格雷码格雷码(1)格雷码格雷码(2)0001100000000101000001010020101001101103011000100010401110110101051000111010116100110100011710101000000181011110010019110001001000现在学习的是第13页,共105页例如十进制数6578用8421码表示。65780110 0101 0111 1000hexbinary36353738ASCII(hex)现在学习的是第14页,共105页符号数据的表示形式
8、键盘上可以输入的符号:大小写英文字母:52个数字09:10个专用符号控制符号ASCII和EBCDLC码(略)每个字符在内存中占用一个字节。现在学习的是第15页,共105页ASCII字符编码集字符编码集 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 A
9、CK SYN&6 F V f v 0111 BEL ETB 7 G W g w 1000 BS CAN (8 H X h x 1001 HT EM )9 I Y i y 1010 LF SUB *:J Z j z 1011 VT ESC +;K k 1100 FF FS ,N n 1111 SI US /?O _ o 现在学习的是第16页,共105页符号数据(字符、汉字)的显示字符、汉字等只能以图形的方式显示给人看。一般以点阵的形式显示。如:16*16的汉字点阵8*8的点阵现在学习的是第17页,共105页汉字的输入、存储汉字存储必须遵守国家标准。英文符号采用ASCII码,1Byte。常用的汉字
10、有6000多个,故需要2B来存储。为了区分汉字和英文符号,所以在机器中,描述汉字时每个字节的最高位为1。因此汉字编码有机内码和机外码之分。机外码常用的有国标码 GB2312。机内码与国标码的关系 机内码国标码8080H现在学习的是第18页,共105页例如国标码(十六进制)二进制机内码机内码(十六进制)3B7A0011 1011 0111 10101011 10111111 1010BBFA输入码键盘输入。拼音、五笔字型等语音输入。手写输入。扫描输入。现在学习的是第19页,共105页现在学习的是第20页,共105页图形数据表示形式图形可分为规则图形,如直线,圆、圆弧等。不规则图形,如照片、地图等
11、。可以用点阵表示任何图形,但需要较多的空间。对于规则图形,可以存储有关的特征和规则即可。直线,可以存储起点、终点和线条的类型即可。现在学习的是第21页,共105页2.1.3 数据格式的相互转换通过键盘向计算机输入的数字肯定是用ASCII码形式表示的十进制数,必须通过软件将其转换成二进制数。反之,计算机的运行结果输出时,常常需要通过软件转换成十进制数。由于二进制数冗长,读写不方便等缺点,常使用八进制或十六进制来进行书写等。需要在不同进制数之间转换。现在学习的是第22页,共105页十进制转二进制整数部分除2取余 小数部分乘2取整2 1 1222521011010.625*210.25 *200.5
12、 *21 0.0 除尽为止 求得位数满足要求为止低低高高高高低低(11)10=(1011)2 (0.625)10=(0.101)2(11.625)10=(1011.101)2现在学习的是第23页,共105页二进制转十进制从二进制数求其十进制的值,逐位码权累加求和。(1011.101)2=1*23+0*22+1*21+1*20+1*2-1+0*2-2+1*2-3 =8+0+2+1+0.5+0.0+0.125 =11.625现在学习的是第24页,共105页二到八或十六进制转换二到八 从小数点向左右三位一分组(10 011 100.01)2=(234.2)8 010 二到十六 从小数点向左右四位一分
13、组(1001 1100.01)2 =(9C.4)16 0100 说明:整数部分不足位数对转换无影响,小数部分不足位数要补零凑足,否则出错。现在学习的是第25页,共105页八或十六到二进制转换(107.6)8=(001 000 111.110)2(1E7.6)16=(0001 1110 0111.1100)2现在学习的是第26页,共105页下列表格内容请记下来i2ii2i01664127128248256389512416101024532161024*64现在学习的是第27页,共105页2.2机器数的编码格式机器数是指数据在计算机内部的二进制编码形式(有多种)。真值是指原来书写形式表示的数(实
14、际值)。选择机器数的原则只照顾机器(运算方便、节省存储空间),不照顾人(是否便于理解)。按小数点位置是否固定,机器数分为定点数和浮点数(实数)。为了有效、方便地表示正负数,定点数表示又分为原码、反码、补码、移码等编码方案。现在学习的是第28页,共105页2.2.1 二进制定点数的原码表示二进制数据编码方法应达到目标:如何能方便地表示正数、零和负数,尽可能地有利于简化对它们实现算术运算用到的规则。1、符号表示数的符号只有“+”和“-”,每一位二进制信息只有“0”和“1”。可以用“0”表示“+”,“1”表示“-”。由于符号是放在最左边,所以存放数据的单元中的最高位用于表示该数据的符号。现在学习的是
15、第29页,共105页例如:N1=+0.1011 N2=-0.1101则它们在机器中可以表示为:N1 0.1011N2 1.1101符号数值部分现在学习的是第30页,共105页2、运算中符号处理运算中存在的问题:是否与数值一起参与运算,结果给下一次运算带来什么影响等。将符号位与数值位一起编码的方法分为原码、补码、反码、移码等。现在学习的是第31页,共105页原码表示法中机器数分为符号和数值两部分。符号用“0”表示该数为正,“1”表示该数为负。数值部分为真值的绝对值。符号数值部分的绝对值例如 X=+0.1011,Y=-0.1101,求X原,Y原。解 根据定义得:X原=0.1011Y原=1.1101
16、3、原码表示现在学习的是第32页,共105页用公式表示:对于小数X,其原码表示定义为:X 1X=0X原=1-X 0=X-1性质1 真值0的原码表示。+0原=0.0000 -0原=1.0000从上可知,0的原码表示形式不是唯一的。现在学习的是第33页,共105页性质2 若X原=X0.X1X2X3Xn,X0表示原码机器数的符号位,它满足:0 X=0 X0=1 X=X=0 X原=2n-X 0=X-2n优点:简单,直观,易懂。缺点:做加减法时,需要将符号位和数值部分分开处理。现在学习的是第35页,共105页原码表示进行加减运算的各种情况。要求操作第一操作数符 第二操作数符 实际操作加法+-+-+减法+
17、-+-+-+-现在学习的是第36页,共105页2.2.2 二进制定点数的补码表示从上表可以看出由于负数的原码表示,在两操作数符号相异时,应作加运算实际上改为减运算;本应作减运算实际上改为加运算。倘若能找到一种机器数的表示法,对它所表示的正负数,要求做加法就作加法,且结果为正确的机器数表示;对于做减法,减去一个负数等于加上与这个负数值对应的正数,减去一个正数,等于加上与这个正数值相等的负数。现在学习的是第37页,共105页好处:减法也能转变为加法。符号位与数值部分一起参与运算简化了运算规则先看两个十进制数的运算:79-38=41 79+62=141如果使用两位十进制数的运算器(如算盘),多余的1
18、00因为超出了运算器的位数和范围而自动丢掉,结果为41。现在学习的是第38页,共105页 在数学上可以用同余式表示:79+(-38)=79+62=41 (mod 100)进一步定义为:-38=62 (mod 100)称-38的补码(对模100而言)是62。结论:负数用补码表示时,可以把减法转化为加法。现在学习的是第39页,共105页在计算机中,机器能表示的数据位数是固定的,其运算都是有模的运算。位数模数整数n2n小数n2若运算结果超出了能表示的数值范围,则只保留它的低n位,超过n位的高位部分就自动舍弃了(类似于向一个杯子倒水)。现在学习的是第40页,共105页 补码定义:对于n位小数,其补码定
19、义为 X 1X=0 X补=(mod 2)2+X 0=X-1对于n位整数,其补码定义为 X 2nX=0 X补=(mod 2n+1)2n+1+X 0=X-2n现在学习的是第41页,共105页原码与补码之间的转换方法1、根据定义进行计算原码真值补码 2、原码直接求补码规则对于正数,原码与补码相等;对于负数,转换规则为:符号位不变,数值部分求反加1(在最低位)。补码直接求原码的规则同上。例 X原=0.1011,Y原=1.1101,求X补=?Y补=?解:X补=0.1011,Y补=1.0010+0.0001=1.0011现在学习的是第42页,共105页由X补求机器负数-X补规则:连同符号位一起求反加1(在
20、最低位)例 X补=0.1011,Y补=1.1101,求-X补=?-Y补=?解:-X补=1.0101,-Y补=0.0010+0.0001=0.0011现在学习的是第43页,共105页补码加法运算可以证明,在无溢出的情况下,X补+Y补=X+Y补(mod 2)称-X补为X补的机器负数。X-Y补=X+(-Y)补 =X补+-Y补 =X补-Y补(mod 2)即将减法变成加法运算。现在学习的是第44页,共105页下面再讨论一些性质(1)0的补码表示是唯一的 +0补=0.000 -0补=10.00+(-0)=0.000 (mod 2)(2)由性质(1)知 X-X补=X补+-X补=0 所以 -X补=-X补即负号
21、在括号内外是一样的。X-Y补=X补+-Y补(mod 2)现在学习的是第45页,共105页(3)设X补=X0.X1X2Xn,求X。若 1X=0 则 1X补=X=0,X0=0;0=X=-1 则 2=X补=2+X=1,X0=1;所以 0 1X=0 X补=2X0+X 其中 X0=1 0=X-1X=XX=X补补-2X-2X0 0=X=X0 0.X.X1 1X X2 2X Xn n-2X-2X0 0 =0.X =0.X1 1X X2 2X Xn n-X-X0 0现在学习的是第46页,共105页补码的算术移位操作十进制的算术移位设 X=00.X1X2Xn,对 X 执行乘以10的运算 10*X=0X1.X2X
22、n0 相当于左移1位对 X 执行除以10的运算 X/10=00.0X1X2Xn 相当于右移1位二进制真值的算术移位设 X=00.X1X2Xn,对 X 执行乘以2的运算 2*X=0X1.X2Xn0 相当于左移1位对 X 执行除以2的运算 X/2=00.0X1X2Xn 相当于右移1位现在学习的是第47页,共105页(4)由X补,求X/2补(即算术右移,要保持真值不变)由性质(3)知 X=0.X1X2Xn-X0 所以 X/2=0.X1X2Xn/2-X0/2 =0.0X1X2Xn+X0/2-X0 =0.X0X1X2Xn-X0比较性质3中的X和性质4中的X/2可得 X/2补=X0.X0X1X2Xn由X补
23、求X/2补的规则:符号位不变,连同符号位一起右移一位。现在学习的是第48页,共105页算术左移1位的操作规则符号位参与向左移位左移时最高位丢失,最低位补0左移时可能发生“溢出”现象,判断“溢出”的规则与补码加减法判断“溢出”相同现在学习的是第49页,共105页补码的演变模2补码的修改对于上述补码,其真值范围为 1X-1,实际上可扩充到 X=-1(为什么?)因 -1补=2+(-1)=1.000 这样补码定义可修改为:X 1X0 X补=(mod 2)2+X 0X-1现在学习的是第50页,共105页模4补码变形补码由于参与运算的数X满足 1X-1,所以两数相加减时其结果有可能超出模2补码表示的真值范
24、围。因此提出了模4补码,其定义如下:X 2X0 X补=(mod 4)4+X 0X-2现在学习的是第51页,共105页可以证明:若X补=X00X01.X1X2Xn则 X00正好是表示其真值的符号,即X00=0,表示正数,X00=1,表示负数。模2补码的性质及码制之间转换均可用于模4补码。模4补码的真值范围是模2补码的一倍。假若仍表示1X-1的真值(下一个参加运算的数要求),小数点左边就一定相同,所以说模4补码是有两个符号位的补码称为变形补码。现在学习的是第52页,共105页注意:在计算机中存储和传送数据时用一位符号位,而在运算时数据采用两位符号位表示。利用双符号位判断定点数溢出结果范围双符号是否
25、溢出 2X101正溢出1X000无溢出0X-111无溢出-1X-210负溢出现在学习的是第53页,共105页2.2.3 二进制定点数的反码表示在补码表示法中已经提到补码可以通过原码除符号位外“求反加1”得到。如果只求反不加1,就得到了反码表示法。对于小数X,其反码定义为 X 1X0 X反=(mod 2-2-n)2-2-n+X 0X-1其中 n代表小数的位数。现在学习的是第54页,共105页性质 0的反码表示 +0反=0.000 -0反=2-2-n+(-0)=1.111即在反码表示中,“0”的表示不唯一。对于 n位整数X,其反码定义为 X 2nX0 X反=(mod 2n-1)2n+1-1+X 0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 表示 校验
限制150内