第15次课第2章 数据信息表示

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

本次课程要点:1、掌握浮点数的表示方法。2、掌握非数值数据的信息表示和汉字的表示形式。3、掌握数据校验码中奇偶校验码的基本概念及实现原理。第二部分:第2章数据信息表示小数点的位置根据需要而浮动,这就是浮点数。例如:N=M×rE式中:r为浮点数阶码的底,与尾数的基数相同,通常r=2。E和M都是带符号数,E叫做阶码,M叫做尾数。在大多数计算机中,尾数为纯小数,常用原码或补码表示;阶码为纯整数,常用移码或补码表示。2、浮点表示法四、数的小数点表示第二部分:第2章数据信息表示图1浮点数的一般格式浮点数的底是隐含的,在整个机器数中不出现。阶码的符号位为es,阶码的大小反映了在数N中小数点的实际位置;尾数的符号位为ms,它是整个浮点数的符号位,表示了该浮点数的正负。尾数部分M阶码部分Eesemsmk位n位1位1位2、浮点表示法(续)四、数的小数点表示第二部分:第2章数据信息表示(1)浮点数的表示范围当es=0,ms=0,阶码和尾数的数值位各位全为1(即阶码和尾数都为最大正数)时,该浮点数为最大正数:X最大正数=(1-2-n)当es=1,ms=0,尾数的最低位mn=1,其余各位为0(即阶码为绝对值最大的负数,尾数为最小正数)时,该浮点数为最小正数:X最小正数=2-n122kk222、浮点表示法(续)四、数的小数点表示第二部分:第2章数据信息表示(1)浮点数的表示范围(续)当es=0,阶码的数值位为全1;ms=1,尾数的数值位为全0(即阶码为最大正数,尾数为绝对值最大的负数)时,该浮点数为绝对值最大负数:X绝对值最大负数=-1122k2、浮点表示法(续)四、数的小数点表示第二部分:第2章数据信息表示为了提高运算的精度,需要充分地利用尾数的有效数位,通常采取浮点数规格化形式,即规定尾数的最高数位必须是一个有效值。1/r≤|M|<1(2)规格化浮点数2、浮点表示法(续)四、数的小数点表示第二部分:第2章数据信息表示在尾数用原码表示时,规格化浮点数的尾数的最高数位总等于1。在尾数用补码表示时,规格化浮点数应满足尾数最高数位与符号位不同(ms⊕m1=1),即当1/2≤M<1时,应有0.1xx…x形式,当-1≤M<-1/2时,应有1.0xx…x形式。需要注意的是当M=-1/2,对于原码来说,是规格化数,而对于补码来说,不是规格化数。当M=-1时,原码无法表示,补码是一个规格化数。(2)规格化浮点数(续)2、浮点表示法(续)四、数的小数点表示第二部分:第2章数据信息表示如果尾数用补码表示,当es=1,ms=0,尾数的最高位m1=1,其余各位为0时,该浮点数为规格化的最小正数:X规格化的最小正数=2-1格化的最小正数大于非规格化的最小正数。k22(2)规格化浮点数(续)2、浮点表示法(续)四、数的小数点表示第二部分:第2章数据信息表示浮点数的典型值第二部分:第2章数据信息表示3、定点、浮点表示法的区别⑴数值的表示范围假设定点数和浮点数的字长相同,浮点表示法所能表示的数值范围将远远大于定点数。⑵精度对于字长相同的定点数和浮点数来说,浮点数虽然扩大了数的表示范围,但这正是以降低精度为代价的,也就是数轴上各点的排列更稀疏了。四、数的小数点表示第二部分:第2章数据信息表示⑶数的运算浮点运算要比定点运算复杂得多。⑷溢出处理在定点运算时,当运算结果超出数的表示范围,就发生溢出。而在浮点运算时,运算结果超出尾数的表示范围却并不一定溢出,只有当阶码超出所能表示的范围时,才发生溢出。3、定点、浮点表示法的区别(续)四、数的小数点表示第二部分:第2章数据信息表示图2IEEE754标准的浮点数格式4、实用浮点数IEEE754标准类型数符ms阶码E尾数m总位数偏置值短浮点数1823327FH127长浮点数11152643FFH1023临时浮点数11564803FFFH16383Emsm阶码部分,用移码表示尾符尾数数值位尾数部分,用原码表示四、数的小数点表示第二部分:第2章数据信息表示以短浮点数为例讨论浮点代码与其真值之间的关系。最高位为数符位;其后是8位阶码,以2为底,阶码的偏置值为127;其余23位是尾数。为了使尾数部分能表示更多一位的有效值,IEEE754采用隐含尾数最高数位1(即这一位1不表示出来)的方法,因此尾数实际上是24位。应注意的是,隐含的1是一位整数(即位权为20),在浮点格式中表示出来的23位尾数是纯小数,并用原码表示。4、实用浮点数IEEE754标准(续)四、数的小数点表示第二部分:第2章数据信息表示浮点数的阶码采用移码的原因便于比较浮点数的大小。阶码大的,其对应的真值就大,阶码小的,对应的真值就小。简化机器中的判零电路。当阶码全为0,尾数也全为0时,表示机器零。第二部分:第2章数据信息表示例1:将(100.25)10转换成短浮点数格式。⑴十进制数→二进制数(100.25)10=(1100100.01)2⑵非规格化数→规格化数1100100.01=1.10010001×26⑶计算移码表示的阶码(偏置值+阶码真值)1111111+110=10000101⑷以短浮点数格式存储该数。符号位=0阶码=10000101尾数=100100010000000000000004、实用浮点数IEEE754标准(续)四、数的小数点表示第二部分:第2章数据信息表示短浮点数代码为0;10000101;10010001000000000000000表示为十六进制的代码:42C88000H。例2:把短浮点数C1C90000H转换成为十进制数。⑴十六进制→二进制形式,并分离出符号位、阶码和尾数。C1C90000H=1;10000011;10010010000000000000000阶码符号位尾数4、实用浮点数IEEE754标准(续)四、数的小数点表示第二部分:第2章数据信息表示⑵计算出阶码真值(移码-偏置值)10000011-1111111=100⑶以规格化二进制数形式写出此数1.1001001×24⑷写成非规格化二进制数形式11001.001⑸转换成十进制数,并加上符号位。(11001.001)2=(25.125)10所以,该浮点数=-25.1254、实用浮点数IEEE754标准(续)四、数的小数点表示第二部分:第2章数据信息表示五、字符串的存放字符串是指一串连续的字符。例如,字符串IFX0THENREAD(C)。(1)向量法。向量存放法在存储器中占用一片连续的空间,每个字节存放一个字符代码,字符串的所有元素(字符)在物理上是邻接的。在字长为32位的存储器,每一个主存单元可存放4个字符,整个字符串需5个主存单元。在每个字节中实际存放的是相应字符的ASCII码。第二部分:第2章数据信息表示IFX0THENREA(C)D5449462020202030454541444852433E2928584E图3字符串的向量存放方案第二部分:第2章数据信息表示(2)串表法。字符串的每个字符代码后面有一个链接字,用以指出下一个字符的存储单元地址。优点是操作方便,缺点是空间浪费大。五、字符串的存放(续)第二部分:第2章数据信息表示1、汉字国标码汉字国标码亦可称为汉字交换码,主要用于汉字信息处理系统之间或者通信系统之间交换信息使用,简称GB码。该标准共收集常用汉字6763个,另外还有各种图形符号682个,共计7445个。GB码规定每个汉字、图形符号都用两个字节表示,每个字节只使用低七位编码,因此最多能表示出128×128=16384个汉字。六、汉字的表示第二部分:第2章数据信息表示区位码将汉字编码码中的6763个汉字分为94个区,每个区中包含94个汉字(位),区和位组成一个二维数组,每个汉字在数组中对应一个唯一的区位码。汉字的区位码定长4位,前2位表示区号,后2位表示位号,区号和位号用十进制数表示,区号从01到94,位号也从01到94。例如,“中”字在54区的48位上,其区位码为“54-48”,“国”字在25区的90位上,其区位码为“25-90”。2.汉字区位码六、汉字的表示(续)第二部分:第2章数据信息表示需要注意的是:汉字区位码并不等于汉字国标码,它们两者之间的关系可用以下公式表示:国标码=区位码(十六进制)+2020H例3:已知汉字“春”的区位码为“20-26”,计算它的国标码。区位码:第1字节第2字节2026十进制↓↓14H1AH十六进制+20H+20H国标码:34H3AH2.汉字区位码(续)六、汉字的表示(续)第二部分:第2章数据信息表示汉字在计算机内部其内码是唯一的。因为汉字处理系统要保证中西文的兼容,当系统中同时存在ASCII码和汉字国标码时,将会产生二义性。例如:有两个字节的内容为30H和21H,它既可表示汉字“啊”的国标码,又可表示西文“0”和“!”的ASCII码。为此,汉字机内码应对国标码加以适当处理和变换。GB码的机内码为二字节长的代码,它是在相应GB码的每个字节最高位上加“1”,即汉字机内码=汉字国标码+8080H例如,上述“啊”字的国标码是3021H,其汉字机内码则是B0A1H。3.汉字机内码六、汉字的表示(续)第二部分:第2章数据信息表示汉字字型码是指确定一个汉字字形点阵的代码,又叫汉字字模码或汉字输出码。4.汉字字形码六、汉字的表示(续)第二部分:第2章数据信息表示七、数据校验码数据校验码是指那些能够发现错误或能够自动纠正错误的数据编码,又称之为“检错纠错编码”。任何一种编码都由许多码字构成,任意两个码字之间最少变化的二进制位数,被称为数据校验码的码距。例如,用四位二进制表示16种状态,则有16个不同的码字,此时码距为1,即两个码字之间最少仅有一个二进制位不同(如0000与0001之间)。这种编码没有检错能力,因为当某一个合法码字中有一位或几位出错,就变成为另一个合法码字了。第二部分:第2章数据信息表示奇偶校验码1、奇偶校验概念奇偶校验码是一种最简单的数据校验码,它的码距等于2,可以检测出一位错误(或奇数位错误),但不能确定出错的位置,也不能检测出偶数位错误。奇偶校验实现方法是:由若干位有效信息(如一个字节),再加上一个二进制位(校验位)组成校验码。1位n位有效信息位奇偶校验位奇偶校验码图4奇偶校验码七、数据校验码(续)第二部分:第2章数据信息表示2、奇偶校验规律校验位的取值(0或1)将使整个校验码中“1”的个数为奇数或偶数,所以有两种可供选择的校验规律:奇校验──整个校验码(有效信息位和校验位)中“1”的个数为奇数。偶校验──整个校验码中“1”的个数为偶数。奇偶校验码(续)七、数据校验码(续)第二部分:第2章数据信息表示简单奇偶校验仅实现横向的奇偶校验,下表给出几个字节的奇偶校验码的编码结果。最高一位为校验位,其余8位为信息位。在实际应用中,多采用奇校验,因为奇校验中不存在全“0”代码,在某些场合下更便于判别。有效信息(8位)奇校验码(9位)偶校验码(9位)000000001000000000000000000101010000101010010101010001111111001111111101111111111111111111111110111111113、简单奇偶校验奇偶校验码(续)七、数据校验码(续)第二部分:第2章数据信息表示⑴校验位形成当要把一个字节的代码D7~D0写入主存时,就同时将它们送往奇偶校验逻辑电路,该电路产生的“奇形成”信号就是校验位。它将与8位代码一起作为奇校验码写入主存。若D7~D0中有偶数个“1”,则“奇形成”=1,若D7~D0中有奇数个“1”,则“奇形成”=0。3、简单奇偶校验(续)奇偶校验码(续)七、数据校验码(续)第二部分:第2章数据信息表示D7D6D5D4D3D2D1D0D校奇形成偶校验出错奇校验出错偶形成AB=1=1=1=1=1=1=1=111图5奇偶校验位的形成及校验电路第二部分:第2章数据信息表示⑵校验检测读出时,将读出的9位代码(8位信息位和1位校验位)同时送入奇偶校验电路检测。若读出代码无错,则“奇校验出错”=0;若读出代码中的某一位上出现错误,则“奇校验出错”=1,从而指示

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功