《数字编码和计算》PPT课件.ppt_第1页
《数字编码和计算》PPT课件.ppt_第2页
《数字编码和计算》PPT课件.ppt_第3页
《数字编码和计算》PPT课件.ppt_第4页
《数字编码和计算》PPT课件.ppt_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

数字编码和计算,数字编码,真值 原码表示法 补码表示法 反码表示法 移码表示法,机器数或机器码,原码,原码表示法:用符号位和数值表示带符号数,正数的符号位用“0”表示,负数的符号位用“1”表示,数值部分用二进制形式表示。 例2-15 设带符号数的真值X=+62和=62则他们的原码分别为: 原0111110 原111110,原码表示法:符号位表示正负 x0.1100110, x原0.1100110 x-0.1100110, x原1.1100110 x1100110, x原01100110 x-1100110, x原11100110 注意:+0原=00000000, -0原=10000000,原码,反码,反码表示法:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反。 例2-17设带符号数的真值X=+62和=62他们的原码和反码分别为: 原0111110 反0111110 原1111110 反1000001,反码,反码表示法: 正数真值本身;负数除符号位外按位取反 x1100110, x反01100110 x-1100111, x反10011000 注意:+0反=00000000, -0反=11111111,补码,补码表示法:正数的补码与原码相同,负数的补码为对该数的原码除符号位外各位取反,然后在最后一位加1。 例2-18 设带符号数的真值X=+62和=62他们的原码和补码分别为: 原0111110 补0111110 原1111110 补1000010,补码,补码表示法: 正数真值本身;负数反码+1 x0.1100110, x补0.1100110(本身) x-0.1100111, x补1.0011001 x1100110, x补01100110(本身) x-1100111, x补10011001,原码的加法,5710+(-68)10 =001110012+110001002 =100010112 = -1110 计算步骤 判断正负 若相同则加,判断是否溢出;若不同则减 缺点:实现复杂,补码的加法,5710+(-68)10 =001110012+101111002 =111101012 = -1110 计算步骤 直接相加,判断是否溢出 补码加法 x+y补= x补+ y补 补码减法 x-y补= x补 -y补 = x补 +-y补,溢出,上溢、下溢 检测方法: 双符号位法(变形补码、模4补码) 两符号位相同,表示未溢出 两符号位相异,表示溢出:“01”上溢,“10”下溢 最高符号位始终指示正确的符号位 单符号位法 最高有效位有进位而符号位无进位上溢 最高有效位无进位而符号位有进位下溢,例2: x=-0.1100,y=-0.1000,求x+y 解:x补=11.0100,y补=11.1000 x补 11.0100 + y补 11.1000 10.1100 下溢,双符号位加法/减法,例1: x=+0.1100,y=+0.1000,求x+y 解:x补=00.1100,y补=00.1000 x补 00.1100 + y补 00.1000 01.0100 上溢,例2: x=-0.1100,y=-0.1000,求x+y 解:x补=1.0100,y补=1.1000 x补 1.0100 + y补 1.1000 10.1100,单符号位加法/减法,例1: x=+0.1100,y=+0.1000,求x+y 解:x补=0.1100,y补=0.1000 x补 0.1100 + y补 0.1000 01.0100,最高有效位有进位而符号位无进位 上溢,最高有效位无进位而符号位有进位 下溢,原码的乘法,原码适合进行乘除运算 补码用于进行加减运算 例:x=0.1101,y=0.1011,定点小数格式,定点小数格式:把小数点固定在数值部分最高位的左边。 N0 . N-1 N-2 N-m 符号位 小数点 数值部分 数的范围:二进制的(m+1)位定点小数格式的数N,所能表示的数的范围为N 12-m。,定点小数格式,比例因子:对于绝对值大于1的数,如果直接使用定点小数格式将会产生“溢出”,需根据实际需要使用一个比例因子,将原始数据按该比例缩小,以定点小数格式表示,得出结果后再按该比例扩大得到实际的结果。,定点小数补充实例,例:假设定点数的长度为2个字节,则十进制的小数0.6876在机内的表示形式是什么? 解:因为(0.6876)10=(0.10110000000001101)2,小数点,符号位,数值部分,定点整数格式,定点整数格式:把小数点固定在数值部分最低位的右边。 N0 Nn Nn-1 N2 N1 . 符号位 数值部分 小数点 数的范围:二进制的(m+1)位定点整数格式的数N,所能表示的数的范围为N 2m-1。,定点整数格式,比例因子:对于绝对值大于该范围的数,如果直接使用定点小数格式也将会产生“溢出”,需根据实际需要选择一个比例因子进行调整,使所表示的数据在规定的范围之内。,定点整数补充实例,例:假设定点数占8位,则十进制的整数83在机内的表示形式是什么? 解:因为(83)10=(1010011)2,符号位,数值部分,定点整数补充实例,例:假设定点数的长度为2个字节,则十进制的整数-193在机内的表示形式是什么? 解:因为(-193)10=(-11000001)2,符号位,数值部分,浮点表示法,浮点表示法:小数点的位置不固定,一个浮点数分为阶码和尾数两部分。 阶码:用于表示小数点在该数中的位置,是一个整数。 尾数:用于表示数的有效数值,可以采用整数或纯小数两种形式 可供选择的一种位数分配形式:设字长为32位 符号位 阶码部分 尾数部分 1位 8位 23位 规格化的浮点数:为了提高浮点数表示的精度通常规定其尾数的最高位必须是非零的有效位,称为浮点数的规格化形式。,二进制浮点数规格化,规格化数是指尾数的最高位为1 对于正数:0.5 尾数S 1,即0.1xxxx(原、补码) 对于负数:原码:-1尾数S -0.5,即1.1xxxx 补码:-1 尾数S -0.5,即1.0xxxx 故规格化数用 原码表示:最高位是1 补码表示:尾数最高位与符号位相反,浮点数补充实例,假定一个浮点数用4个字节来表示,则一般阶码占用一个字节,尾数占用3个字节,且每部分的最高位均用以表示该部分的正负号。 例:-0.110112-011在机内的表示形式是什么?,阶码,尾 数,浮点数加减法,X0.34103 Y0.45104 X+Y 0.34103 + 0.45104 0.034104 + 0.45104 0.484 104 0.48 104,对阶 尾数加减 舍入处理,浮点数加减法,例: 两浮点数x = 2010.1101,y = 211(-0.1010)。假设尾数在计算机中以补码表示,可存储4位尾数,阶码以原码表示,采用0舍入,求x+y。,步骤5: 数据无溢出,因此结果为 x+y = 210(-0.1110),解:将x,y转换成浮点数据格式(双符号位) x浮 = 00 01, 00.1101 y浮 = 00 11, 11.0110,步骤1:对阶,阶差为11-01=10,即2,因此将x的尾数右移两位,得 x浮 = 00 11, 00.001101,步骤2:对尾数求和,得: x+y浮 = 00 11, 11.100101,步骤3:由于符号位和第一位数相等,不是规格化数,向左规格化,得 x+y浮 = 00 10, 11.001010,步骤4:截去。 x+y浮 = 00 10, 11.0010,小阶对大阶,不符合规格化:左规,尾数左移,小数点右移,浮点数加减法,例: 两浮点数x = 2100.1101,y = 210(-0.1010)。假设尾数在计算机中以补码表示,可存储4位尾数,阶码以原码表示,采用0舍入,求x-y。,步骤5: 数据无溢出,因此结果为 x+y = 211(0.1011),解:将x,y转换成浮点数据格式(双符号位) x浮 = 00 10, 00.1101 y浮 = 00 10, 11.0110 -y浮 = 00 11, 00.1010,步骤1:对阶,阶码相同,步骤2:对尾数相减,得: x-y浮 = 00.1101 + 00.1010= 01.0111,步骤3:尾数相加减,尾数部分溢出,向右规格化,小数点左移得 x-y浮 = 00 11, 00.10111,步骤4:截去。 x+y浮 = 00 11, 00.1011,BCD码,BCD码:用4位二进制数表示1位10进制数,最常用会计制度等需要高精确度计算的场合。 十进制数与BCD码之间的转换:可按位(或四位二进制数组)直接进行。,8421码,8421码属于BCD码(Binary-Coded Decimal)的一种。8421码中从左到右每一位的1分别表示8,4,2,1。 例2-19 将十进制数5678转换为BCD码 十进制数: 5 6 7 8 BCD码: 0101 0110 0111 1000 所以十进制数5678的BCD码为0101 0110 0111 1000,8421码, 例2-20 将BCD码 1001 0110 0111 0101转换为十进制数。 BCD码: 1001 0110 0111 0101 十进制数: 9 6 8 5 所以BCD码 1001 0110 0111 0101对应的十进制数为9685,8421码加法,采用8421码实现下列运算,279 0010 0111 1001,5712 0101 0111 1100 ? 0110 1 0010 12,ASCII码,ASCII(American Standards Committee of Information)码:是由美国信息交换标准委员会制定的、国际上使用最广泛的字符编码方案。 ASCII码的编码方案:采用7位二进制数表示一个字符,把7位二进制数分为高三位(b7b6b5)和低四位(b4b3b2b1) 7位ASCII编码表:如表所示,利用该表可以查找数字、运算符、标点符号以及控制符等字符与ASCII码之间的对应关系。,一般字符的ASCII编码,汉字编码体系,汉字输入码(汉字外码):由输入设备产生的汉字编码,如区位码、国标码、拼音码、五笔字型码、智能ABC汉字输入码等。 汉字内码:用于计算机内部存储处理以及汉字信息处理系统或计算机系统之间的信息交换。一个汉字用两个字节来表示,每个字节只用后7位,最高位为0。,汉字编码体系,汉字字形码:确定一个汉字字形点阵的编码,用于汉字显示和打印输出。保留在存储介质中的全部汉字字形码称为字库。 如图所示是“啊”字的点阵外形。图中有1616个方格,称1616点阵,每一个方格用一个二进制代码表示,用1表示黑点,用0表示白点。常用的汉字字库除1616点阵汉字库之外,还有2424点阵汉字库、3232点阵汉字库等。,数据校验码,原理:使用额外的校验位增加不同数字间编码的距离 检错码:用于检测一位差错(奇偶校验码) 奇校验:有效信息位和校验位中含有奇数个1 偶校验:有效信息位和校验位中含有偶数个1 纠错码:用于纠正一位差错(海明码) 应用:用于计算机各部件之间信息传输以及计算机网络的信息传输。,海明码(Hamming Code),海明码编码的关键是使用多余的奇偶校验位来识别一位错误。 把所有2的幂次方的数据位标记为奇偶校验位(编号为1, 2, 4, 8, 16, 32, 64等的位置) 其他数据位用于待编码数据. (编号为3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 17等的位置) 每个奇偶校验位的值代表了代码字中部分数据位的奇偶性,其所在位置决定了要校验和跳过的比特位顺序。 位置1:校验1位,跳过1位 (1,3,5,7,9,11,13,15,) 位置2:校验2位,跳过2位 (2,3,6,7,10,11,14,15,) 位置4:校验4位,跳过4位 (4,5,6,7,12,13,14,15,20,21,22,23,) 位置8:校验8位,跳过8位 (8-15,24-31,40-47,) 如果全部校验的位置中有奇数个1,把该奇偶校验位置为1;如果全部校验的位置中有偶数个1,把该奇偶校验位置为0.,海明码(Hamming Code),一个字节的数据:10011010 构造数据字(Data Word),对应的校验位留空_ _ 1 _ 0 0 1 _ 1 0 1 0 计算每个校验位的奇偶性 ( ?代表要设置的比特位): 位置1检查1,3,5,7,9,11: ? _ 1 _ 0 0 1 _ 1 0 1 0. 偶数个1,因此位置1设为0,即: 0 _ 1 _ 0 0 1 _ 1 0 1 0 位置2检查2,3,6,7,10,11: 0 ? 1 _ 0 0 1 _ 1 0 1 0. 奇数个1,因此位置2设为1,即: 0 1 1 _ 0 0 1 _ 1 0 1 0 位置4检查4,5,6,7,12: 0 1 1 ? 0 0 1 _ 1 0 1 0. 奇

温馨提示

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

评论

0/150

提交评论