计算机中数据的表示方法.ppt

上传人:人*** 文档编号:567946000 上传时间:2024-07-22 格式:PPT 页数:92 大小:791KB
返回 下载 相关 举报
计算机中数据的表示方法.ppt_第1页
第1页 / 共92页
计算机中数据的表示方法.ppt_第2页
第2页 / 共92页
计算机中数据的表示方法.ppt_第3页
第3页 / 共92页
计算机中数据的表示方法.ppt_第4页
第4页 / 共92页
计算机中数据的表示方法.ppt_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《计算机中数据的表示方法.ppt》由会员分享,可在线阅读,更多相关《计算机中数据的表示方法.ppt(92页珍藏版)》请在金锄头文库上搜索。

1、计算机组成原理计算机组成原理第三章第三章运算方法与运算部件运算方法与运算部件3.1数据的表示方法和转换数据的表示方法和转换3.1.1 数值数据的表示法数值数据的表示法v进位计数制及其转换进位计数制及其转换一、进位计数制:一、进位计数制: 用少量的数字符号(也称数码),按先后次序把它们排成数用少量的数字符号(也称数码),按先后次序把它们排成数位,由低到高进行计数,计满进位,这样的方法称为进位计位,由低到高进行计数,计满进位,这样的方法称为进位计数制。数制。v基数:进位制的基本特征数,即所用到的数字符号个数基数:进位制的基本特征数,即所用到的数字符号个数。例如例如10进制进制:09十个数码表示,基

2、数为十个数码表示,基数为10。v权:进位制中,处于某一位上的权:进位制中,处于某一位上的“1”所表示的数值的大小所表示的数值的大小为该位的权。各种进位计数制中的权值恰好是基数的某次幂。为该位的权。各种进位计数制中的权值恰好是基数的某次幂。v常见的进位制:常见的进位制:2,8,10,16进制。进制。1、十进制、十进制(Decimal)数码为:数码为:09;基数是;基数是10。Decimal:十进制:十进制运算规律:逢十进一,即:运算规律:逢十进一,即:9110。十进制数的权展开式:十进制数的权展开式:103、102、101、100称称为十进制的权。各数为十进制的权。各数位的权是位的权是10的幂。

3、的幂。同样的数码在不同的数同样的数码在不同的数位上代表的数值不同。位上代表的数值不同。任意一个十进制数都任意一个十进制数都可以表示为各个数位可以表示为各个数位上的数码与其对应的上的数码与其对应的权的乘积之和,称权权的乘积之和,称权展开式。展开式。即:即:(5555)D5103510251015100例如例如:一个十进制数一个十进制数143.75的表示的表示注:注: 等式左边为并列表示法等式左边为并列表示法等式右边为多项式表示法等式右边为多项式表示法2、二进制、二进制(Binary)数码为:数码为:0、1;基数是;基数是2。Binary:二进制二进制运算规律:逢二进一,即:运算规律:逢二进一,即

4、:1110。二进制数的权展开式:二进制数的权展开式:如:如:(101.01)B122021120021122(5.25)10加法规则:加法规则:0+0=0,0+1=1,1+0=1,1+1=10乘法规则:乘法规则:00=0,01=0,10=0,11=1运算运算规则规则各数位的权是的幂各数位的权是的幂二进制数只有二进制数只有0和和1两个数码,它的每一位都可以用电子元件两个数码,它的每一位都可以用电子元件来实现,且运算规则简单,相应的运算电路也容易实现。来实现,且运算规则简单,相应的运算电路也容易实现。例如例如:一个二进制数一个二进制数(1101.01)2的表示的表示3.二进制数的性质二进制数的性质

5、移位性质:移位性质:小数点右移一位,数值扩大一倍小数点右移一位,数值扩大一倍小数点左移一位,数值减小一半小数点左移一位,数值减小一半奇偶性质:奇偶性质:最低位为最低位为0 0,偶数,偶数最低位为最低位为1 1,奇数,奇数1.1=20+2-1=1.511=21+20=2(20+2-1)=30.110.75=2-1(20+2-1)=2-1+2-2=4.二进制数的特点二进制数的特点优点:优点:只有只有0 0,1 1两个数码,易于用物理器件表示。两个数码,易于用物理器件表示。电位的高低,脉冲的有无,电路通断等都比较容电位的高低,脉冲的有无,电路通断等都比较容易区别,可靠性高。易区别,可靠性高。运算规则

6、简单。运算规则简单。二进制的二进制的0 0,1 1与逻辑命题中的真假相对应,为计与逻辑命题中的真假相对应,为计算机中实现逻辑运算和逻辑判断提供有利条件算机中实现逻辑运算和逻辑判断提供有利条件。缺点:缺点:书写冗长,不易识别,不易发现错误书写冗长,不易识别,不易发现错误5、十六进制、十六进制(Hexadecimal)数码为:数码为:09、AF;基数是基数是16。Hexadecimal:十六进制十六进制运算规律:逢十六进一,即:运算规律:逢十六进一,即:F110。十六进制数的权展开式:十六进制数的权展开式:如:如:(D8.A)H13161816010161(216.625)10各数位的权是各数位的

7、权是16的幂的幂例如十六进制数例如十六进制数(2A.7F)16的表示的表示6、八进制、八进制数码为:数码为:07;基数是;基数是8。O:八进制八进制运算规律:逢八进一,即:运算规律:逢八进一,即:7110。八进制数的权展开式:八进制数的权展开式:如:如:(207.04)8282081780081482(135.0625)10各数位的权是各数位的权是8的幂的幂3.1.2 进位计数制之间的转换进位计数制之间的转换1、R进制转换成十进制的方法进制转换成十进制的方法按权展开法按权展开法:先写成多项式,然后计算十进制先写成多项式,然后计算十进制结果。结果。N=dn-1dn-2d1d0d-1d-2d-m=

8、dn-1Rn-1+dn-2Rn-2+d1R1+d0R0+d-1R-1+d-2R-2+d-mR-m例如:写出例如:写出(1101.0101)2,(237)8,(10D)16的的十进制数。十进制数。(1101.0101)(1101.0101)2 2=12=123 3+12+122 2+02+021 1+12+120 0+02+02-1-1+12+12-2-2+02+02-3-3+12+12-4 -4 =8+4+1+0.25+0.0625=13.3125=8+4+1+0.25+0.0625=13.3125(237)(237)8 8=28=282 2+38+381 1+78+780 0 =128+24

9、+7=159=128+24+7=159(10D)(10D)1616=116=1162 2+1316+13160 0=256+13=269=256+13=2692、十进制转换成二进制方法、十进制转换成二进制方法一般分为两个步骤:一般分为两个步骤:整数部分的转换整数部分的转换v除除2 2取余法(基数除法)取余法(基数除法)v减权定位法减权定位法小数部分的转换小数部分的转换v乘乘2 2取整法(基数乘法)取整法(基数乘法)除基取余法:除基取余法:把给定的十进制整数除以基数,取余数作为把给定的十进制整数除以基数,取余数作为最低位的系数,然后继续将商部分除以基数,余数作为次低最低位的系数,然后继续将商部分

10、除以基数,余数作为次低位系数,重复操作直至商为位系数,重复操作直至商为0。225余余1122余余062余余032余余112余余10(25)D=(11001)B除除基数基数得余数得余数作系数作系数从低位从低位到高位到高位减权定位法:减权定位法:将十进制数依次从二进制的最高位权值进行比较,若够减则将十进制数依次从二进制的最高位权值进行比较,若够减则对应位置对应位置1,减去该权值后再往下比较,若不够减则对应位为,减去该权值后再往下比较,若不够减则对应位为0,重复操作直至差数为,重复操作直至差数为0。例:将例:将(327)10转换成二进制数转换成二进制数512256128643216842102563

11、27512327-256=71171128071-64=71732071607807-4=313-2=111-1=01(327)10=(101000111)2乘基取整法乘基取整法(小数部分的转换小数部分的转换): 把给定的十进制小数乘以把给定的十进制小数乘以2,2,取其整数作为二进制小数的取其整数作为二进制小数的第一位第一位, ,然后取小数部分继续乘以然后取小数部分继续乘以2,2,将所得整数部分作为第二将所得整数部分作为第二位小数位小数, ,重复操作直至得到所需要的二进制小数。重复操作直至得到所需要的二进制小数。0.812521.625021.250020.5000取整取整1100.62500

12、.2500乘基数乘基数取整数取整数作系数作系数从高位从高位到低位到低位若小数在连乘多次后不若小数在连乘多次后不为为0,一般按照精确度要求,一般按照精确度要求(如小数点后保留如小数点后保留n位位)得到得到n 个对应位的系数即可。个对应位的系数即可。21.00001问题:(问题:(25.8125)10=(?)2(1)二进制数转换为八进制数:)二进制数转换为八进制数:将二进制数由小数点开始,将二进制数由小数点开始,整数部分向左,小数部分向右,每整数部分向左,小数部分向右,每3位分成一组,不够位分成一组,不够3位补位补零,则每组二进制数便是一位八进制数。零,则每组二进制数便是一位八进制数。3、其它进制

13、之间的直接转换法、其它进制之间的直接转换法二进制数与八进制数的相互转换二进制数与八进制数的相互转换1101010.01000 (152.2)8(2)八进制数转换为二进制数:将每位八进制数用)八进制数转换为二进制数:将每位八进制数用3位二进位二进制数表示。制数表示。=011111100.010110(374.26)8二进制转换成八进制二进制转换成八进制例:例:(10110111.01101)2(10110111.01101)2 2 =(267.32)8 8八进制八进制:267.32二进制二进制:010,110,111.011,010二进制二进制:10,110,111.011,01八进制转换二进制

14、八进制转换二进制例如例如:(123.46)8 8=(001,010,011.100,110)2 2 =(1010011.10011)2 2二进制数与十六进制数的相互转换二进制数与十六进制数的相互转换111010100.0110000 (1D4.6)16=101011110100.01110110(AF4.76)16 二进制数与十六进制数的相互转换,按照二进制数与十六进制数的相互转换,按照每每4 4位二进制数对应于一位十六进制数进行转换。位二进制数对应于一位十六进制数进行转换。二进制转换成十六进制二进制转换成十六进制例:例:(110110111.01101)2(10110111.01101)2=

15、(1B7.68)16十六进制十六进制:1B7.68二进制二进制:0001,1011,0111.0110,1000二进制二进制:1,1011,0111.0110,1十六进制转换成二进制十六进制转换成二进制例如例如:(7AC.DE)1616=(0111,1010,1100.1101,1110)2 2 =(11110101100.1101111)2 22、有权码和无权码、有权码和无权码有权码有权码v表示一位十进制数的二进制码的每一位有确定的权。表示一位十进制数的二进制码的每一位有确定的权。一般用一般用8421码,其码,其4个二进制码的权从高到低分别个二进制码的权从高到低分别为为8、4、2和和1。用。

16、用0000,0001,1001分别表分别表示示0,1,9,每个数位内部满足二进制规则,每个数位内部满足二进制规则,而数位之间满足十进制规则,故称这种编码为而数位之间满足十进制规则,故称这种编码为“以以二进制编码的十进制二进制编码的十进制(binarycodeddecimal,简,简称称BCD)码码”。v在计算机内部实现在计算机内部实现BCD码算术运算,要对运算结果码算术运算,要对运算结果进行修正,对加法运算的修正规则是:进行修正,对加法运算的修正规则是:v如果两个一位如果两个一位BCD码相加之和小于或等于码相加之和小于或等于(1001)2,即,即(9)10,不需要修正;如相加之和大于或等于,不

17、需要修正;如相加之和大于或等于(10)10,要进行加,要进行加6修正,并向高位进位,进位可以修正,并向高位进位,进位可以在首次相加在首次相加(例例3.10)或修正时或修正时(例例3.10)产生。产生。4+9=130100 +10011101+0110修正修正10011进位进位例例3.101+8=90001+10001001不需要修正不需要修正v另外几种有权码,如另外几种有权码,如2421,5211,4311码码(见表见表3.2),也是用,也是用4位二进制码表示一个十进制数位,但位二进制码表示一个十进制数位,但4位二进制码之间不符合二进制规则。这几种有权位二进制码之间不符合二进制规则。这几种有权

18、码有一特点,即任何两个相加之和等于码有一特点,即任何两个相加之和等于(9)10的二进的二进制码互为反码。例如,在制码互为反码。例如,在2421码中,码中,0(0000)与与9(1111)、1(0001)与与8(1110)、,互为反码。,互为反码。表表3.24位有权码位有权码十十进制数制数8421码2421码5211码4311码0000000000000000010001000100010001200100010001100113001100110101010040100010001111000501011011100001116011011001010101170111110111001100

19、8100011101110111091001111111111111无权码无权码v表示一个十进制数位的二进制码的每一位没有确定表示一个十进制数位的二进制码的每一位没有确定的权。用得较多的是余的权。用得较多的是余3码码(Excess-3Code)和格雷和格雷码码(GrayCode),格雷码又称,格雷码又称“循环码循环码”。v余余3码是在码是在8421码基础上,把每个编码都加上码基础上,把每个编码都加上0011而形成的而形成的(见表见表3.3),其运算规则是:,其运算规则是:v当两个余当两个余3码相加不产生进位时,应从结果中减去码相加不产生进位时,应从结果中减去0011;产生进位时,应将进位信号送

20、入高位,本位;产生进位时,应将进位信号送入高位,本位加加0011。v例例3.11(28)10+(55)10=(83)1001011011 (28)10+)10001 1000 (55)1011100011低位向高位产生进位,高位不产生进位低位向高位产生进位,高位不产生进位-)0011+)0011低位低位+3,高位,高位-310110110格雷码的编码规则:任何两个相邻编码只有一个二进格雷码的编码规则:任何两个相邻编码只有一个二进制位不同,而其余三个二进制位相同。其优点是从一制位不同,而其余三个二进制位相同。其优点是从一个编码变到下一个相邻编码时,只有个编码变到下一个相邻编码时,只有1位发生变化

21、,位发生变化,用它构成计数器时可得到更好的译码波形。格雷码的用它构成计数器时可得到更好的译码波形。格雷码的编码方案有多种,表编码方案有多种,表3.3给出两组常用的编码值。给出两组常用的编码值。表表3.34位无权码位无权码十十进制数制数余余3码格雷格雷码(1)格雷格雷码(2)00011000000001010000010100201010011011030110001000104011101101010510001110101161001101000117101010000001810111100100191100010010003.数字串在计算机内的表示与存储数字串在计算机内的表示与存储v主要

22、有两种形式:主要有两种形式:(1)字符字符形式。即一个字节存放一个十进制数位或形式。即一个字节存放一个十进制数位或符号位,存放的是符号位,存放的是09十个数字和正负号的十个数字和正负号的ASCII编码值编码值。(2)压缩的十进制数形式。用一个字节存放两个十进压缩的十进制数形式。用一个字节存放两个十进制数位,既节省了存储空间,又便于完成十进制数制数位,既节省了存储空间,又便于完成十进制数的算术运算。其值用的算术运算。其值用BCD码或码或ASCII码的低码的低4位表示。位表示。符号位也占半个字节并放在最低数字位之后,其值符号位也占半个字节并放在最低数字位之后,其值可从可从4位二进制码中的位二进制码

23、中的6种冗余状态中选用。种冗余状态中选用。3.2.1 数的编码与表示数的编码与表示v数值范围:一种数据类型所能表示的最大值和最小数值范围:一种数据类型所能表示的最大值和最小值。值。v数据精度:实数所能表示的有效数字位数。数据精度:实数所能表示的有效数字位数。v数值范围和数据精度均与使用多少位二进制位数以数值范围和数据精度均与使用多少位二进制位数以及编码方式有关。及编码方式有关。v计算机用数字表示正负,隐含规定小数点。计算机用数字表示正负,隐含规定小数点。采用采用“定点定点”、“浮点浮点”两种表示形式。两种表示形式。3.2带符号的二进制数据在计算机中带符号的二进制数据在计算机中的表示方法及加减法

24、运算的表示方法及加减法运算1、真值和机器数、真值和机器数真值:正、负号加某进制数绝对值的形式。如真值:正、负号加某进制数绝对值的形式。如二进制真值二进制真值;X=+1011y=-1011机器数:在机器中使用的连同符号一起数码化机器数:在机器中使用的连同符号一起数码化表示的二进制数的形式。表示的二进制数的形式。最高位是符号位,通常用最高位是符号位,通常用“0”0”表示正号,用表示正号,用“1”1”表示负号。表示负号。如:如:X=01011y=110112、常用的几种码制表示法、常用的几种码制表示法原码、反码、补码、移码原码、反码、补码、移码原码表示法用原码表示法用“0”表示正号,用表示正号,用“

25、1”表示负表示负号,有效值部分用二进制的绝对值表示。号,有效值部分用二进制的绝对值表示。注:以下注:以下X=X0X1X2Xn,字长的有效位数为,字长的有效位数为n+1(1)原码表示法)原码表示法若若定点小数定点小数的原码形式为的原码形式为X0.X1X2XN, ,则原码表示的定义是则原码表示的定义是式中式中X原是机器数,原是机器数,X是真值是真值X原原 X1X01X1|X|0X-1若若定点整数定点整数的原码形式为的原码形式为X0X1X2XN,则原码表示的定义是则原码表示的定义是X原原 X2nX02nX2n|X|0X-2n完成下列数的真值到原码的转换:完成下列数的真值到原码的转换:X1=+0.10

26、11011X2=-0.1011011X1原= 0.1011011X2 原= 1.1011011“.”.”只用于只用于助记,助记,在计算在计算机中并无专用机中并无专用部件来表示部件来表示完成下列数的真值到原码的转换:完成下列数的真值到原码的转换:X1=+1011011X2=-1011011X1 1 原原 =0 1011011X2 2 原原 =1 1011011原码整数中原码整数中+0+0原原 =00000000 ; -0=00000000 ; -0原原 =10000000=10000000表示范围表示范围:-(2:-(2n n-1)-1) + +(2 2n n-1-1) 8 8位字长位字长: -

27、127: -127 +127+1271616位字长位字长: -32767 : -32767 + 32767+ 32767原码特点:原码特点:原码特点:原码特点:原码小数中原码小数中原码小数中原码小数中+0+0+0+0原原原原 =0.0000000 ; -0=0.0000000 ; -0=0.0000000 ; -0=0.0000000 ; -0原原原原 =1.0000000 =1.0000000 =1.0000000 =1.0000000 表示范围表示范围表示范围表示范围:-(1- 2:-(1- 2:-(1- 2:-(1- 2-n-n-n-n) ) ) ) 1- 1- 1- 1- 2 2 2

28、2-n -n -n -n 表示简单,易于同真值之间进行转换。表示简单,易于同真值之间进行转换。表示简单,易于同真值之间进行转换。表示简单,易于同真值之间进行转换。进行加减运算十分麻烦,速度慢。表示进行加减运算十分麻烦,速度慢。表示进行加减运算十分麻烦,速度慢。表示进行加减运算十分麻烦,速度慢。表示0 0 0 0有两种形式。有两种形式。有两种形式。有两种形式。8 8位字长位字长: -127/128: -127/128 +127/128+127/1281616位字长位字长: -32767/32768 : -32767/32768 + 32767/32768+ 32767/32768正数的表示与原码

29、相同,负数的反码符号位为正数的表示与原码相同,负数的反码符号位为1,数值位是将原码的数值按位取反。,数值位是将原码的数值按位取反。(2)反码表示法)反码表示法若若定点小数定点小数,反码表示的定义是,反码表示的定义是X反反X1X02-2-nX|0X -1对对定点整数定点整数,补码表示的定义是,补码表示的定义是X反反X2nX02n+1-1+X0X -2n小数:X1 1=+0.1011011 , X1 1 反反 =0.1011011X2 2= -0.1011011 , X2 2 反反 =1.0100100整数整数: :X3 3=+1011011 , X3 3 反反 =01011011X4 4= -1

30、011011 , X4 4 反反 =10100100 +0反=0.0000000 ; -0反 =1. 1 1 1 1 1 1 1反码运算是以反码运算是以2-2-n为模,所以,当最高位有进位而丢为模,所以,当最高位有进位而丢掉进位掉进位(即即2)时,要在最低位时,要在最低位+1。例例3.21X=0.1011,Y=-0.0100,则有:,则有:X反反=0.1011,Y反反=1.1011X+Y反反=X反反+Y反反=0.1011+1.1011反反=10.0110其中,最高位其中,最高位1丢掉,并要在最低位加丢掉,并要在最低位加1。所以。所以得得X+Y反反=0.0111mod(2-2-4)。例例3.22

31、X=0.1011,Y=-0.1100,则有:则有:X反反=0.1011,Y反反=1.0011X+Y反反=0.1011+1.0011反反=1.1110(其真值为其真值为-0.0001)反码特点:反码特点:反码特点:反码特点:0 0也有两种形式也有两种形式也有两种形式也有两种形式反码表示正数时,与原码和补码的形式完全相反码表示正数时,与原码和补码的形式完全相反码表示正数时,与原码和补码的形式完全相反码表示正数时,与原码和补码的形式完全相同。表示负数时,其码值比补码小同。表示负数时,其码值比补码小同。表示负数时,其码值比补码小同。表示负数时,其码值比补码小“ “1”1”。反码也同样适用于加减法运算,

32、在加减法运算反码也同样适用于加减法运算,在加减法运算反码也同样适用于加减法运算,在加减法运算反码也同样适用于加减法运算,在加减法运算时,如产生模的溢出时,在最低位补时,如产生模的溢出时,在最低位补时,如产生模的溢出时,在最低位补时,如产生模的溢出时,在最低位补“ “1”1”。表示范围:表示范围:表示范围:表示范围:对于对于对于对于n n1 1位反码机器数位反码机器数位反码机器数位反码机器数X X,它所能表示的数据范围为:,它所能表示的数据范围为:,它所能表示的数据范围为:,它所能表示的数据范围为:定点整数:(定点整数:(定点整数:(定点整数:(2 2n n1 1) X2X2n n1 1定点小数

33、:(定点小数:(定点小数:(定点小数:(1 12 2-n-n) X1X12 2-n-n正数的补码与原码相同,负数的补码是将负数的反码正数的补码与原码相同,负数的补码是将负数的反码正数的补码与原码相同,负数的补码是将负数的反码正数的补码与原码相同,负数的补码是将负数的反码末位加末位加末位加末位加1 1。模:计量的范围,或称为模数,超出模数即溢出被丢模:计量的范围,或称为模数,超出模数即溢出被丢模:计量的范围,或称为模数,超出模数即溢出被丢模:计量的范围,或称为模数,超出模数即溢出被丢掉。掉。掉。掉。 N N位字长的整数(包括位字长的整数(包括位字长的整数(包括位字长的整数(包括1 1位符号位)模

34、值为位符号位)模值为位符号位)模值为位符号位)模值为 2 2N NNN位字长的纯小数(包括位字长的纯小数(包括位字长的纯小数(包括位字长的纯小数(包括1 1位符号位)的模值为位符号位)的模值为位符号位)的模值为位符号位)的模值为2 2 例例例例 : 4 4位字长的机器表示的二进制整数为:位字长的机器表示的二进制整数为:位字长的机器表示的二进制整数为:位字长的机器表示的二进制整数为:0000000011111111共共共共1616种状态,模为种状态,模为种状态,模为种状态,模为16=216=24 4 。(3)补码表示法)补码表示法若若定点小数定点小数补码形式为补码形式为X0.X1X2Xn,则补码

35、表示的定义是则补码表示的定义是X补补X1X02X2|X|0X-1(mod2)对对定点整数定点整数,补码表示的定义是,补码表示的定义是X补补X2nX02n+1+X2n+1-|X|0X-2n(mod2n1)小数小数完成下列数的真值到补码的转换:完成下列数的真值到补码的转换:X1=+0.1011011X2=-0.1011011X1 1补补=0.1011011X2 2补补=1.0100101整数整数完成下列数的真值到补码的转换:完成下列数的真值到补码的转换:X1=+01011011X2=-01011011X1 1补补=01011011X2 2补补=10100101补码的表示范围:n+1n+1位字长纯整

36、数位字长纯整数: : -2-2n n 2 2n n -1-1 当字长为当字长为7 7时时: :-1-1补补 =11111111=11111111 +0 +0补补 =00000000 -0=00000000 -0补补=00000000=00000000 -128 -128补补= = 2 28 8 - |-128| - |-128| =100000000b-10000000b=10000000b =100000000b-10000000b=10000000b ? ?n+1n+1位位字长字长纯小数纯小数: - 1: - 1 1- 1- 2 2-n-n 当字长为当字长为7 7时时: : -1-1补补=

37、1.0000000=1.0000000原码与补码之间的转换原码与补码之间的转换原码求补码原码求补码正数正数X补补=X原原负数负数符号位不变,各位取反,末位加符号位不变,各位取反,末位加1。例:例:X=-01001001X原原=11001001,X补补=10110110+1=10110111X补补=28+X=100000000-1001001=10110111100000000-100100110110111由由X补求补求-X补(求机器负数)补(求机器负数)方法:连同符号一起将各位取反,末位再加方法:连同符号一起将各位取反,末位再加1。设字。设字长长N=8位位例:例:X=+1001001X补补=

38、01001001-X补补=10110111补码的的优点:可以将减法运算转换成加法运算,补码的的优点:可以将减法运算转换成加法运算,补码的的优点:可以将减法运算转换成加法运算,补码的的优点:可以将减法运算转换成加法运算,简化了运算规则。简化了运算规则。简化了运算规则。简化了运算规则。当补码加法运算的结果不超出机器范围时,可得出以当补码加法运算的结果不超出机器范围时,可得出以下重要结论:下重要结论:(1)用补码表示的两数进行加法运算,其结果仍为补用补码表示的两数进行加法运算,其结果仍为补码。码。(2)X+Y补补=X补补+Y补补。(3)符号位与数值位一样参与运算。符号位与数值位一样参与运算。例例3.

39、15设设X=0.1010,Y=-0.0101,X为正,为正,Y为负:为负:X+Y补补=0.1010+(-0.0101)补补=0.0101X补补+Y补补=0.1010+-0.0101补补=0.1010+(2-0.0101)=2+0.0101=0.0101mod2即即X+Y补补=X补补+Y补补=0.0101v例例3.18设设X=-0.0000,Y=-0.0000X补补+Y补补=X+Y补补=(2+0.0000)+(2+0.0000)=4+0.0000=0.0000mod2说明两个负零相加,最后得正零,再次说明了补码说明两个负零相加,最后得正零,再次说明了补码零在机器中的表示形式是唯一的。零在机器中的

40、表示形式是唯一的。v例例3.19设设X=-0.1011,Y=-0.0101,则有则有X+Y补补=X补补+Y补补=1.0101+1.1011=11.0000=1.0000mod2而而X+Y的真值的真值=-0.1011+(-0.0101)=-1.0000,为为-1。由此说明一个数的补码值的范围在由此说明一个数的补码值的范围在-1和和(1-2-n)之间之间(假设数值部分为假设数值部分为n位位)。vX-Y补补=X+(-Y)补补=X补补+-Y补补由X补求-X补(求机器负数)方法:连同 符号一起将各位取反,末位再加1。设字长N=8位例: X= + 1 0 0 1 0 0 1 X补 = 0 1 0 0 1

41、0 0 1 -X补= 1 0 1 1 0 1 1 1补码的的优点:可以将减法运算转换成加法运算,简化了运算规则。补码特点:补码特点:补码特点:补码特点:是一种以模数为概念而引入的机器码,因此模数是一种以模数为概念而引入的机器码,因此模数是一种以模数为概念而引入的机器码,因此模数是一种以模数为概念而引入的机器码,因此模数取不同值,负数的补码值也会随之改变。取不同值,负数的补码值也会随之改变。取不同值,负数的补码值也会随之改变。取不同值,负数的补码值也会随之改变。补码形式将负数化为正数形式,将减法化为加法补码形式将负数化为正数形式,将减法化为加法补码形式将负数化为正数形式,将减法化为加法补码形式将

42、负数化为正数形式,将减法化为加法运算,特别适合于加减法运算。运算,特别适合于加减法运算。运算,特别适合于加减法运算。运算,特别适合于加减法运算。负数补码可以通过对原码数码位(除符号位)取负数补码可以通过对原码数码位(除符号位)取负数补码可以通过对原码数码位(除符号位)取负数补码可以通过对原码数码位(除符号位)取反加反加反加反加“ “1”1”(最低位权值)求得。补码的模数比反码(最低位权值)求得。补码的模数比反码(最低位权值)求得。补码的模数比反码(最低位权值)求得。补码的模数比反码的模数大的模数大的模数大的模数大“ “1”1”。(4)移码表示法)移码表示法v(1)表示方法:)表示方法:最高位为

43、符号位,其他位为数最高位为符号位,其他位为数值位。值位。符号位:符号位:1正数,正数,0负数负数。数值位:正数时,与绝对值相同;数值位:正数时,与绝对值相同;负数时,负数时,为绝对值取反后,末位加为绝对值取反后,末位加1。移码表示:移码表示:即为补码的即为补码的符号位取反符号位取反v对于定点整数:对于定点整数:若若X=+X1X2Xn,则,则X移移=1,X1X2Xn;若若X=-X1X2Xn,则,则X移移=0,X1X2Xn1。v对于定点小数:对于定点小数:若若X=+0.X1X2Xn,则,则X移移=1.X1X2Xn;若若X=-0.X1X2Xn,则,则X移移=0.X1X2Xn0.001。v例例1:X=

44、1011,Y1011,则:则:X移移;Y移移;v例例2:X=0.1101,Y-0.1101,则:则:X移移;Y移移;v例例3:X=1011,Y-0.1101,求,求X和和Y的的8位移码机器数。位移码机器数。X移移;Y移移;v例例4:0移移?1,10111,10110,01010,01011.11011.11010.00110.00111,00010111,00010110.00110000.0011000v(2)0的表示:的表示:0的移码表示形式是唯一的的移码表示形式是唯一的,即分别按照正数和负数表示均一致。即分别按照正数和负数表示均一致。+0移移100-0移移100v(3)表示范围:)表示范

45、围:对于对于n1位位移码机器数移码机器数X,它它所能表示的数据范围为:所能表示的数据范围为:定点整数:定点整数:2n1X2n1定点小数:定点小数:1X12nv移码通常作为浮点数的阶码。移码通常作为浮点数的阶码。包括包括1 1位符号位,位符号位,n n位数值位位数值位码制表示法小结vX原原、X反反、X补补用用“0”表示正号,用表示正号,用“1”表表示负号;示负号;v如果如果X为正数,则为正数,则X原原=X反反=X补补。v如果如果X为为0,则,则X补补有唯一有唯一编码,编码,X原原、X移移、X反反有两种编码。有两种编码。一个代码,赋予不同类型,其数值不一样。而类型要由人编程一个代码,赋予不同类型,

46、其数值不一样。而类型要由人编程指定。指定。例:计算机内一个例:计算机内一个8 8位二进制数位二进制数1000000110000001B B无符号二进制数无符号二进制数 129 129,有符号整数:原码有符号整数:原码 1 1, 反码反码 126126, 补码补码 127127有符号小数:原码有符号小数:原码 0.0000001B= 0.0000001B= 1/128 1/128 反码反码 126/128126/128, 补码补码 127/128127/128其实只要这样想其实只要这样想:8位的二进制数据可以表示位的二进制数据可以表示256种情况种情况原码原码就是就是:(-127-0,+0+12

47、7)反码反码一样一样补码补码因为因为+0和和-0表示方法一样,所以肯定多表示方法一样,所以肯定多出来一种情况,即出来一种情况,即10000000,把它定义成,把它定义成-1283.2.2加减法运算的溢出处理加减法运算的溢出处理v当运算结果超出机器数所能表示的范围时,当运算结果超出机器数所能表示的范围时,称为溢出。显然,两个异号数相加或两个同称为溢出。显然,两个异号数相加或两个同号数相减,其结果是不会溢出的。仅当两个号数相减,其结果是不会溢出的。仅当两个同号数相加或者两个异号数相减时,才有可同号数相加或者两个异号数相减时,才有可能发生溢出的情况,一旦溢出,运算结果就能发生溢出的情况,一旦溢出,运

48、算结果就不正确了,因此必须将溢出的情况检查出来。不正确了,因此必须将溢出的情况检查出来。v9+5=14(-9)+(-5)=-1412+7=19(溢出溢出)010011011101100+00101+11011+001110111011001010011v(-12)+(-7)=-19(溢出溢出)14-1=13-14+1=-13101000111010010+11001+11111+0000110110110110110011v在上例中,在上例中,、和和得出正确结果,得出正确结果,和和为溢出。为溢出。今以今以4 4位二进制补码正整数加法运算为例说明如下:位二进制补码正整数加法运算为例说明如下:3.

49、2.3定点数和浮点数定点数和浮点数1.定点数定点数v定点数是指小数点固定在某个位置上的数据,一般定点数是指小数点固定在某个位置上的数据,一般有小数和整数两种表示形式。定点小数是把小数点有小数和整数两种表示形式。定点小数是把小数点固定在数据数值部分的左边,符号位的右边;整数固定在数据数值部分的左边,符号位的右边;整数是把小数点固定在数据数值部分的右边。我们在前是把小数点固定在数据数值部分的右边。我们在前面讨论的数据都是定点数。面讨论的数据都是定点数。2.浮点数浮点数v浮点数是指小数点位置可浮动的数据,通常以下式浮点数是指小数点位置可浮动的数据,通常以下式表示:表示:N为浮点数,为浮点数,M为尾数

50、,为尾数,E为阶码,为阶码,R称为称为“阶的基数阶的基数(底底)”,而且,而且R为一常数,一般为为一常数,一般为2、8或或16。N=MRE数值数据的定点、浮点表示法1、定点表示法约定机器中所有数据的小数点位置固定不变。用定点表示法表示的数称为定点数。(1)定点小数(纯小数):小数点在数值最高有效位之前,符号位之后。X= X0.X1X2 Xn X X0 0 X X1 1 X X2 2 X Xn n 符号位符号位. . 尾尾 数数 范围:范围: 2 2-n-n X X1- 21- 2-n-n(2 2 2 2)定点整数:小数点固定在数的最低位之后。)定点整数:小数点固定在数的最低位之后。)定点整数:

51、小数点固定在数的最低位之后。)定点整数:小数点固定在数的最低位之后。 X= XX= XX= XX= X0 0 0 0X X X X1 1 1 1X X X X2 2 2 2 X X X Xn n n n . . . . 范围:范围:范围:范围: 1111X X X X 2 2 2 2n n n n - 1- 1- 1- 1(1)浮点数的表示格式)浮点数的表示格式v浮点数的机内表示一般采用以下形式:浮点数的机内表示一般采用以下形式:MSEM1位位n+1位位m位位vMS是尾数的符号位,设置在最高位上。是尾数的符号位,设置在最高位上。vE为阶码,有为阶码,有n+1位,一般为整数,其中有一位符号位,设

52、置位,一般为整数,其中有一位符号位,设置在在E的最高位上,用来表示正阶或负阶。的最高位上,用来表示正阶或负阶。vM为尾数,有为尾数,有m位,由位,由MS和和M组成一个定点小数。组成一个定点小数。MS=0,表示正号,表示正号,MS=1,表示负号。,表示负号。数符数符阶码阶码尾数值尾数值移码或补码表示移码或补码表示补码或原码表示补码或原码表示(2)浮点数的规格化)浮点数的规格化v为了保证数据精度,尾数通常用为了保证数据精度,尾数通常用规格化形式规格化形式表示:表示:当当R=2,且尾数值不为,且尾数值不为0时,其绝对值应大于或等于时,其绝对值应大于或等于(0.5)10。对非规格化浮点数,通过将尾数左

53、移或右。对非规格化浮点数,通过将尾数左移或右移,并修改阶码值使之满足规格化要求。移,并修改阶码值使之满足规格化要求。v尾数尾数为原原码表示表示时,无,无论正正负应满足足|d|1 即:即:小数点后的第一位数一定要小数点后的第一位数一定要为为1 1. . . .正数的尾数形式为正数的尾数形式为0.1负数的尾数形式为负数的尾数形式为1.1v尾数用尾数用补码表示表示时,小数最高位小数最高位应应与数符符号位相与数符符号位相反反。正数。正数应满足足dd-1正数的尾数形式为正数的尾数形式为0.1负数的尾数形式为负数的尾数形式为1.0v例例1.将下列十进制数表示成浮点规格化数,阶码将下列十进制数表示成浮点规格

54、化数,阶码4位(含符号),分别用补码和移码表示;尾数位(含符号),分别用补码和移码表示;尾数6位位(含符号),用补码表示。(含符号),用补码表示。24/512-24/512解:解:24/512=(+110002-9)2=(+0.110002-4)2其补码表示为其补码表示为0110011000其阶码用移码表示为其阶码用移码表示为0010011000-24/512=(-110002-9)2=(-0.110002-4)2其补码表示为其补码表示为1110001000其阶码用移码表示为其阶码用移码表示为0010001000v例例2.设某机器用某机器用32位表示一个位表示一个实数,数,阶码部分部分8位位(

55、含(含1位位阶符),用定点整数符),用定点整数补码表示;尾数部分表示;尾数部分24位(含数符位(含数符1位),用位),用规格化定点小数格化定点小数补码表示,基表示,基数数为2。求。求X=256.5的浮点表示格式。的浮点表示格式。解:解:X=(256.5 5)1010= =(+100000000.1+100000000.1)22=(+0.1000000001x+0.1000000001x2 2+9+9)2 2 8 8位位位位阶码为阶码为:(:(:(:(+9+9)补补=00001001=00001001 2424位尾数位尾数位尾数位尾数为为:(+0.1000000001)(+0.100000000

56、1)补补 =0.100000000100000=0.10000000010000000000000 00000000 所求所求所求所求256.5256.5的浮点表示格式的浮点表示格式的浮点表示格式的浮点表示格式为为: 0 000001000000100 1100000000100000110000000010000000000000 00000000 用用用用1616进进制表示此制表示此制表示此制表示此结结果果果果则为则为:(04C02000)(04C02000)1616 (3)IEEE754浮点数标准浮点数标准v根据根据IEEE754国际标准,常用的浮点数有两种格式:国际标准,常用的浮点数有

57、两种格式:v(1)单精度浮点数单精度浮点数(32位位),阶码,阶码8位,尾数位,尾数24位位(内含内含1位符号位符号位位)。v(2)双精度浮点数双精度浮点数(64位位),阶码,阶码11位,尾数位,尾数53位位(内含内含1位符位符号位号位)。:浮点数的符号位,:浮点数的符号位,1位,位,0表示正数,表示正数,1表示负数。表示负数。:尾数,:尾数,23位,用小数表示,小数点放在尾数域的最前面。位,用小数表示,小数点放在尾数域的最前面。:阶码:阶码(8位位),阶符采用隐含方式,即采用移码方式来表示,阶符采用隐含方式,即采用移码方式来表示正负指数。正负指数。v移码方法对两个指数大小的比较和对阶操作都比

58、较方便,因移码方法对两个指数大小的比较和对阶操作都比较方便,因为阶码域值大者其指数值也大。采用这种方式时,将浮点数为阶码域值大者其指数值也大。采用这种方式时,将浮点数的指数真值的指数真值e变成阶码变成阶码时,应将指数时,应将指数e加上一个固定的偏加上一个固定的偏移值移值127(01111111),即,即e127.vIEEE754标准中,一个规格化的标准中,一个规格化的32位浮点数位浮点数X的真值表示为的真值表示为X(1)s(1.)2127e127v一个规格化的一个规格化的64位浮点数位浮点数X的真值为的真值为X(1)s(1.)21023e1023v其中尾数域所表示的值是其中尾数域所表示的值是1

59、.M。因为规格化的浮点数的尾数。因为规格化的浮点数的尾数域最左位(最高有效位总是域最左位(最高有效位总是1,故这一位经常不予存储,而,故这一位经常不予存储,而认为隐藏在小数点的左边)认为隐藏在小数点的左边)v例例1.若浮点数若浮点数x的的754标准存储格式为标准存储格式为(41360000)16,求其浮点数的十进制数值。,求其浮点数的十进制数值。解:将解:将16进制数展开后,可得二进制数格式为进制数展开后,可得二进制数格式为指数指数e=阶码阶码-127=10000010-01111111=00000011=(3)10包括隐藏位包括隐藏位1的尾数的尾数1.M=1.0110110000000000

60、0000000=1.011011X=(-1)s1.M2e=+(1.011011)23=+1011.011=(11.375)10v例例2.将将(20.59375)10转换成转换成754标准的标准的32位浮点数的位浮点数的二进制存储格式。二进制存储格式。解:解:首先分别将整数和分数部分转换成二进制数:首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011然后移动小数点,使其在第然后移动小数点,使其在第1,2位之间位之间10100.10011=1.01001001123e=4s=0,E=4+127=131,M=010010011最后得到最后得到32位浮点数的二进制存储格式为

61、:位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)16v例例3.写出十进制数写出十进制数(-5)10的的754编码。编码。解:解:(-5)10=(-101)2在在IEEE754中规格化表示为中规格化表示为1.0122s=1,E=2+127=129,M=01IEEE754编码为:编码为:11000000101000000000000000000000(4)浮点数的表示范围)浮点数的表示范围设浮点数共设浮点数共n位,其中尾数位,其中尾数n1位,阶码位,阶码n2位,用原码表示时位,用原码表示时阶码,表示范围:阶码,表示范围:尾数,表示

62、范围:尾数,表示范围:浮点数最大值:浮点数最大值:最小值:最小值: 绝对值最小值:绝对值最小值:(5)溢出处理)溢出处理尽尽管管浮浮点点表表示示能能扩扩大大数数据据的的表表示示范范围围,但但浮浮点点机机在运算过程中,仍会出现溢出现象。在运算过程中,仍会出现溢出现象。v溢出处理溢出处理(一个数的大小超出了表示范围)(一个数的大小超出了表示范围)浮浮点点数数范范围围是是由由阶阶码码决决定定的的。当当一一个个浮浮点点数数阶阶码码大大于于机机器器的的最最大大阶阶码码时时,称称为为上上溢溢;小小于于最最小小阶阶码码时时,称称为为下下溢溢。依依尾尾数数正正、负负决决定定是是正正溢溢出出还还是是负负溢溢出。

63、出。尾数溢出尾数溢出:上(正)溢、下(负)溢。:上(正)溢、下(负)溢。右规处理右规处理阶码溢出阶码溢出:上溢需停机进行出错处理:上溢需停机进行出错处理下溢数据按零处理下溢数据按零处理 下面以阶码占下面以阶码占 3 3 位,尾数占位,尾数占 5 5 位位( (各包括各包括 1 1 位符号位位符号位) )为例,来讨论这个问题。为例,来讨论这个问题。 图中,图中,“可表示的负数区域可表示的负数区域”和和“可表示的正数区域可表示的正数区域”及及“0”0”,是机器可表示的数据区域;上溢区是数据绝对值太大,是机器可表示的数据区域;上溢区是数据绝对值太大,机器无法表示的区域;下溢区是数据绝对值太小,机器无

64、法表机器无法表示的区域;下溢区是数据绝对值太小,机器无法表示的区域。若运算结果落在上溢区,就产生了溢出错误,使得示的区域。若运算结果落在上溢区,就产生了溢出错误,使得结果不能被正确表示,要停止机器运行,进行溢出处理。若运结果不能被正确表示,要停止机器运行,进行溢出处理。若运算结果落在下溢区,也不能正确表示之,机器当算结果落在下溢区,也不能正确表示之,机器当 0 0 处理,称处理,称为机器零。为机器零。 一般来说,增加尾数的位数,将增加可表示区域数一般来说,增加尾数的位数,将增加可表示区域数据点的密度,从而提高了数据的精度;增加阶码的位数,能增据点的密度,从而提高了数据的精度;增加阶码的位数,能

65、增大可表示的数据区域。大可表示的数据区域。v当一个浮点数的尾数为当一个浮点数的尾数为0(不论阶码是何值不论阶码是何值),或阶码,或阶码的值比能在机器中表示的最小值还小时,计算机都的值比能在机器中表示的最小值还小时,计算机都把该浮点数看成零值,称为机器零。把该浮点数看成零值,称为机器零。v同一个浮点数的表示方法不是唯一的同一个浮点数的表示方法不是唯一的如如:11.01也可以表示成也可以表示成0.011012-3,0.11012-2(6)数的定点表示与浮点表示的比较数的定点表示与浮点表示的比较浮点表示比较定点表示的数的范围大。浮点表示比较定点表示的数的范围大。如用同样位数:如用同样位数:16位位

66、定点表示:定点表示:0.00010.1111 其绝对值变化范围为其绝对值变化范围为215(1215)1 浮浮点点表表示示:阶阶码码为为四四位位,尾尾数数为为十十二二位位,各各含含一一位位符符号号,其其绝绝对对值值范范围围为为2721127(1211) 所以定点表示:范围为所以定点表示:范围为2151浮点表示:范围为浮点表示:范围为21827 当当然然为为了了提提高高浮浮点点数数的的精精度度,必必须须采采用用比比定定点点数数长的位数,以增加尾数的长度。长的位数,以增加尾数的长度。浮点数的表示及处理较为复杂。浮点数的表示及处理较为复杂。浮浮点点数数要要包包含含二二个个部部分分阶阶码码及及尾尾数数,

67、可可以以采采用用不不同同编编码码制制。浮浮点点数数要要规规格格化化及及溢溢出出处处理理都都比比定定点点数复杂。数复杂。浮点数运算过程也比定点数复杂。浮点数运算过程也比定点数复杂。加加减减法法时时,要要先先对对阶阶,使使小小数数点点位位置置对对齐齐,然然后后再再运运算算,运运算算完完毕毕要要规规格格化化及及溢溢出出处处理理。乘乘除除法法:要要阶阶码码进进行行加加减减法法,尾尾数数相相乘乘、除除,运运算算完完毕毕再再要规格化及溢出处理。要规格化及溢出处理。2、浮点表示法把字长分成阶码和尾数两部分:把字长分成阶码和尾数两部分:N=RE.SR基数,基数,E阶码,阶码,S尾数尾数用浮点表示法表示的数称为

68、浮点数。格式通常为:E Ef fE E1 1E E2 2E E3 3 S Sf fS S1 1S S2 2 S Sn n阶符阶符尾符尾符阶码值阶码值尾数值尾数值通常,阶码为补码或移码定点整数,尾数通常,阶码为补码或移码定点整数,尾数为补码或原码定点小数。为补码或原码定点小数。设X=23(+0.10101)X原1011010101X补1101010101X反1100010101X移0101010101(阶移尾补)数据校验码校验码:在基本的有效数据外,再扩充部分位,增加部分(冗余部分)被称为校验位。将校验位与数据位一起按某种规则编码。一、奇偶校验码 在每组数据信息上附加一个奇(或偶)校验位,组成的

69、新数据称为奇(或偶)校验编码。 校验位的取值(0或1)取决于这组信息中“1”的个数和校验方式(奇或偶校验)。 奇校验:校验编码中“1”的个数为奇数。 偶校验:校验编码中“1”的个数为偶数。例如:例如:8位信息位信息10101011,附加校验位后变为,附加校验位后变为9位位若用奇校验,则奇校验编码应为若用奇校验,则奇校验编码应为101010110;若用偶校验,则偶校验编码应为若用偶校验,则偶校验编码应为101010111。奇偶校验的特点:奇偶校验的特点:1、可检验出数据传送过程中奇数个数位出错的、可检验出数据传送过程中奇数个数位出错的情况;情况;2、简便、可靠易行,但不能自动纠正错误。、简便、可

70、靠易行,但不能自动纠正错误。二、循环冗余校验码(CRC码)通过某种数学公式建立信息位和校验位之间的约通过某种数学公式建立信息位和校验位之间的约通过某种数学公式建立信息位和校验位之间的约通过某种数学公式建立信息位和校验位之间的约定关系定关系定关系定关系能够校验传送信息的对错,并且能自能够校验传送信息的对错,并且能自能够校验传送信息的对错,并且能自能够校验传送信息的对错,并且能自动修正错误。广泛用于通信和磁介存储器中。动修正错误。广泛用于通信和磁介存储器中。动修正错误。广泛用于通信和磁介存储器中。动修正错误。广泛用于通信和磁介存储器中。CRCCRCCRCCRC编码格式是在编码格式是在编码格式是在编

71、码格式是在k k k k位信息后加位信息后加位信息后加位信息后加r r r r位检验码。位检验码。位检验码。位检验码。 C1C2.CKr1r2ri校验位(校验位(r位)位)信息位(信息位(k位)位)NN-1211、CRC码的编码方法码的编码方法假设被传送的k位二进制信息位用C(x)表示, 系统选定的生成多项式用G(X)表示,将C(x)左移 G(X)的最高次幂(即等于需要添加的校验位的位数r),写作 C(x) 2 r,然后将C(x) 2 r除以生成多项式G(x),所得商用Q(x)表示,余数用R(x)表示。则: 两边同时乘以G(x)并左移 R(x) 得到:故有:故有: 即为所求的即为所求的n n位

72、位CRCCRC码。码。余数余数R(x)R(x)就是校验位就是校验位(r (r位位) ),等式两边都是,等式两边都是G(x)G(x)的倍数。的倍数。 发送信息时将等式左边生成的发送信息时将等式左边生成的n n位位CRCCRC码送给对码送给对方。当方。当接收方接到接收方接到n n位编码后,同样除以位编码后,同样除以G(x)G(x),如果传如果传输正确则余数为输正确则余数为0 0,否则则可以根据余数的数值确定,否则则可以根据余数的数值确定是哪位数据出错。是哪位数据出错。CRC编码采用的加、减法是按位加减法,运算规则为:00=0,01=1,10=1,11=02、求、求CRC码的步骤码的步骤分三步:分三

73、步:(1)在)在C(X)的尾部加的尾部加r个个“0”,即,即C(x)2r;(2)求)求C(x)2r/G(x)做模做模2运算的余数运算的余数R(x);(3)把余数加到)把余数加到C(x)2r上。上。例:被传输的信息例:被传输的信息C(x)=1101011011C(x)=1101011011,生成多项式生成多项式 G G(X X)=X=X4 4+X+1= 10011+X+1= 10011,求,求C(x)C(x)的的CRCCRC码。码。解: r =5-1= 4 位 (1 1)C(x) 2 C(x) 2 r r= = 1 1 1 0 1 0 1 1 0 1 1 0 0 0 01 0 1 0 1 1 0

74、 1 1 0 0 0 0 (2 2) 1 1 0 1 0 1 1 0 1 1 0 0 0 0/100111 1 0 1 0 1 1 0 1 1 0 0 0 0/10011 余数:R(x) =1110(3)把把R(x)加到加到C(x) 2 C(x) 2 r r上得:上得: CRC码为: 1 1 0 1 0 1 1 0 1 1 1 1 1 01 1 0 1 0 1 1 0 1 1 1 1 1 0 1 1 0 1 0 1 1 0 1 1 0 0 0 0 1 1 0 1 0 1 1 0 1 1 0 0 0 0 10011 10011 1 1 0 0 0 0 1 0 1 0 1 1 0 0 0 0 1

75、0 1 0 1 0 0 1 1 1 0 0 1 11 0 0 1 11 0 0 1 11 0 0 1 11 0 0 1 1 1 0 1 1 0 1 0 1 1 01 0 0 1 11 0 0 1 11 0 1 0 01 0 1 0 01 0 0 1 11 0 0 1 11 1 1 0 1 1 1 0 小结小结& &复习复习1. 数值数据的表示法数值数据的表示法 二进制、八进制、十六进制数据的表示和相互二进制、八进制、十六进制数据的表示和相互转换的方法。基数、权的含义,权展开式的写法转换的方法。基数、权的含义,权展开式的写法二进制:基数为二进制:基数为2,逢二进一,运算规则,逢二进一,运算规则

76、重要的性质(移位重要的性质(移位p-19,奇偶)奇偶) 优点和缺点优点和缺点十六进制:基数为十六进制:基数为16八进制:基数是八进制:基数是8各个进制之间的转换。各个进制之间的转换。2. 数的编码和表示数的编码和表示真值、机器数真值、机器数原码、补码、反码、移码原码、补码、反码、移码注意:注意:0的表示方法的表示方法(补同一;补同一; 移、原、反同二)移、原、反同二) 各个编码的表示范围各个编码的表示范围 符号位的表示符号位的表示 各个编码之间的转换,注意符号位。各个编码之间的转换,注意符号位。 各个编码的特点及重要的性质。各个编码的特点及重要的性质。 补码的特点及应用在运算上的特点补码的特点

77、及应用在运算上的特点 码制表示法小结(见教案)码制表示法小结(见教案)数值数据的浮点、定点表示方法数值数据的浮点、定点表示方法定点数的表示:整数和小数的表示及表示范围定点数的表示:整数和小数的表示及表示范围浮点数的表示:阶码和尾数浮点数的表示:阶码和尾数2部分。部分。 阶码为补码或移码定点整数,阶码为补码或移码定点整数, 尾数为补码或原码定点小数。尾数为补码或原码定点小数。 浮点数的范围浮点数的范围字符的编码:字符的编码:ASCII编码(重点要求数字和字母)编码(重点要求数字和字母) 8421编码(掌握编码的方法)编码(掌握编码的方法)数据校验码:奇偶校验码(重点掌握奇偶校验的方法)数据校验码:奇偶校验码(重点掌握奇偶校验的方法)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号