第二章计算机数据表示方法.ppt

上传人:本田雅阁 文档编号:3151455 上传时间:2019-07-17 格式:PPT 页数:119 大小:1.65MB
返回 下载 相关 举报
第二章计算机数据表示方法.ppt_第1页
第1页 / 共119页
第二章计算机数据表示方法.ppt_第2页
第2页 / 共119页
第二章计算机数据表示方法.ppt_第3页
第3页 / 共119页
第二章计算机数据表示方法.ppt_第4页
第4页 / 共119页
第二章计算机数据表示方法.ppt_第5页
第5页 / 共119页
点击查看更多>>
资源描述

《第二章计算机数据表示方法.ppt》由会员分享,可在线阅读,更多相关《第二章计算机数据表示方法.ppt(119页珍藏版)》请在三一文库上搜索。

1、第二章、计算机数据表示方法,版权所有,引用请注明出处,原著 谭志虎,主讲(改编) 蒋文斌,2,Outline,2.1 非数值数据表示法 2.2 数值数据表示法 2.3 数据信息的校验,3,Data Representation,Qualitative Quantitative Integers Signed Unsigned Non-integers (Real) Signed Unsigned,4,2.1 非数值数据表示法,字符表示法 characters 汉字表示法 Chinese characters,5,2.1.1 Character representation ,如何使用数值表示字

2、符数据 Standards ASCII-American Standard Code for Information Interchange (ANSI 7bits) EBCDIC-Extended Binary-Coded Decimal Interchange Code (IBM 8bits) Unicode,6,128 Standard ASCII codes,52 Letters a-z, A-Z 10 Digits 0-9 34 Symbols ! # $ % & * ( ) 32 Control characters ,7,ASCII,使用7bit表示128个字符 From 000

3、 0000 to 111 1111 27=128 注意:ASCII中的数字字符和数字本身不相等 几乎所有计算机均支持该代码集 但不是所有语言都能用128个字符表示 8Bit? MSF=0,8,Terminology,计算机利用寄存器存储数据 寄存器中每个位称bit (Binary DigiT) 最高有效位 (MSB) 最低有效位 (LSB),9,2.1.2 汉字表示法,8 bit数据仅能表示256个字符,常用汉字6000多个,故其无法表示汉字 GB2312国家标准采用16位表示 与ASCII字符的区别,最高有效位MSB=1 内码,外码(输入法),字模码(显示用),10,GB2312-80国家标

4、准,1981年,GB2312-80国家标准,包括6763个汉字/682个非汉字字符,称为国标码或国际交换码 GB2312字符集的构成: 一级常用汉字3755个,按汉语拼音排列 二级常用汉字3008个,按偏旁部首排列 非汉字字符682个,11,汉字标准,GB2312-1980(GB0)(简体) 6763个汉字 GB13000-1993 20902个汉字 (Unicode 1.1版本) 汉字扩展规范GBK1.0 标准1995(非国家标准) 21003个字符(兼容GB2312) GB18030-2000(1/2/4字节编码) 27484汉字 (向下兼容GB2312 GBK,GB13000),12,字

5、模码介绍,字模码是用点阵表示的汉字字型代码,是汉字的输出形式。 字模点阵的信息量是很大的,所占存储空间也很大。以16*16为例,每个汉字要占用32个字节, 因此字模点阵只能用来构成汉字库,而不能用于机内存储。,13,Charset, charset=gb2312 简体中文 charset=big5 繁体中文 charset=EUC_KR 韩语 charset=Shift_JIS 或 EUC_JP 日语 charset=KOI8-R/Windows-1251俄语 charset=iso-8859-2 中欧语系 charset=utf-8 unicode多语言,14,Unicode www.uni

6、code.org,用于克服字符数字的限制 为所有语言中的字符分配唯一的代码 16 bit 字符集,65536 Unicode 字符 提供唯一的代码 不论任何平台 不论任何程序 不论任何语言,15,Universal Character Set ISO,UCS ISO 10646 UCS-2 UCS-4 UTF (Unicode Transform format) UTF-7 UTF-8 UTF-16,16,Terminology,UUEncode/Uudecode MIME (Multipurpose Internet Mail Extensions ),17,2.2 数值数据表示方法,计算机

7、数值数据表示的特点 进位制数 数的定点、浮点表示 机器数,18,计算机数据编码需要考虑的因素:,数的类型(小数、整数、实数和复数) 数值范围 数值精确度 数值存储和处理所需的硬件代价,19,计算机数据编码特点,少量简单的基本符号表示大量复杂的信息 状态简单 电路实现简单 运算方便 硬件成本,20,Human vs. Computer,人们日常生活采用10进制 天生10个手指 计算机采用二进制 计算机采用电子开关 开关仅仅包括两个状态 ON OFF,21,十进制编码特点,0123456789共10种状态,状态过多,运算组合状态过多,加法组合数=,C102+10,=10*9/2!+10,=55,C

8、82+8=8*7/2!+8=36,C42+4=4*3/2!+4=10,C22+2=2*1/2!+2=3,八进制:,四进制:,二进制:,结论:二进制的组合状态最少,22,二进制编码特点,符号个数最少,“0、1” 物理上容易实现 用数字电路的两个状态表示(如电压高低) 与二值逻辑的 真 假 两个值对应简单 二进制位可以表示任何对象(字符,数值,逻辑值) 用二进制码表示数值数据运算规则简单 0+1=1+0=1 1+1=0 0+0=0 仅仅三种运算规则(10进制有55种) 一个异或门即可完成该运算,23,一位全加器,输入: 加数Ai 、Bi 低位进位输入Ci,输出: 和数Si ,进位输出Ci+1,24

9、,二进制加法器基本电路,25,进制表示,N 代表一个数值 r 是这个数制的基(Radix) i 表示这些符号排列的位号 Di 是位号为i的位上的一个符号 ri 是位号为i的位上的 1 代表的值 Di*ri 是第i位的所代表的实际值 表示m+k+1位的值求累加和,26,例子,(10456)1011040103 410251016100,(0xF96)16F1629161 6100,(10010001)2127026 025 124 023 022 021 120,27,进制转换,二进制数转八进制 二进制数转十六进制 二进制数转十进制 十进制数转二进制,28,二到八或十六进制转换,二进制转到八进制

10、 从小数点向左右三位一分组 (10 011 100 . 01)2 = ( 234 . 2 )8 010 二进制转十六进制 从小数点向左右四位一分组 (1001 1100 . 01)2 = ( 9C . 4 )16 0100,说明:整数部分不足位数对转换无影响, 小数部分不足位数要补零凑足,则出错。,29,二进制转十进制,从二进制数求其十进制的值,逐位码权累加求和,10010001127026 025 124 023 022 021 120,30,十进制转二进制,整数部分除2取余 小数部分乘2取整,5,2,1,0,0.625 * 2,1,0.25 * 2,0,0.5 * 2,1,0.0,除尽为止

11、 1011,低,高,求得位数满足要求为止,31,进制转换的简单运算方法,17/128的二进制表示方法? 大数的转换方法,记住几个常用的2的幂,2532 2664 27128 28256 29512 2101024(1Kilo) 2112048 2124096 2138182 21416364 21532728 21665536 2201048576(1Mega) 2301073741824(1Giga) 2401Tera 更大的单位是多少? 2501 Peta 2601 Exa 2701 Zetta 2801 Yotta,32,Kilo, Mega, Giga, Tera, Peta, Exa

12、, Zetta, Yotta physics.nist.gov/cuu/Units/binary.html,30GB=?Byte 1Mbits=? 30 GB drive30 x 109 28 x 230 bytes 1 Mbit/s = 106 bps 硬盘厂商及通讯行业是计算机行业唯一使用SI因子的,33,1999 New IEC Standard Prefixes http:/en.wikipedia.org/wiki/Binary_prefix,SI (International System of Units )仅指10进制 234可以访问多少存储单元? 2.5 TiB存储空间需要多

13、少地址线进行译码?,34,几个简化运算的例子,-17/128=-0.0010001,65539=65536+3=10000000000000011,111111111110=111111111111-1 =212-1-1=4046,130=128+2=10000010,111111110111212-1-8,2003=2047-44=111111111111-32-8-4,35,2.2 数值数据表示方法,计算机数值数据表示的特点 进位制数 数的定点、浮点表示 机器数,36,2.2.1 数的定点、浮点表示方法,定点表示 (小数点位置固定的数) 定点小数 定点整数 仅能表示纯小数及纯整数 浮点表示

14、 Signed & Unsigned,37,定点小数,2-n |X|1-2-n,下溢/上溢,最低有效位,最高有效位,38,数值表示 X = X 0 . X1 X 2 X n X i=0,1, 0in =X 12-1 + + X n-12-n+1 + X n 2-n 数值范围 0|x| 1-2-n,定点小数的编码,39,定点整数,1 |X|2n-1,上溢,最高有效位,最低有效位,40,数值表示 X = X1X2Xn Xi=0,1, 0in =X12n-1 + + Xn-121 + Xn 数值范围 0|x|2n-1,定点整数的编码,41,浮点数如何表示,? 参与运算的数据通常既包括整数也包括小数部

15、分。 如何表示?如何运算? 将数据按照一定比例因子缩小成定点小数或扩大成定点整数进行表示和运算 运算完毕后再根据比例因子还原成实际数值 计算机中浮点运算有专门的器件,42,浮点数如何表示,电子的质量 910-28g 太阳的质量21033g0.21034 科学记数法N=10EM N=Rem M称为尾数,是一个纯小数,e是比例因子的阶数,称为浮点数的指数,是一个整数,R为基数,43,浮点数的表示,将比例因子以适当形式表示在数据中即可表示浮点数 可有效提高数字表示范围,也保持了数字有效精度 N=Rem=2EM =2e (m),E0,M0,44,浮点数的表示范围,- ,+,负数,正数,0,负上溢,正上

16、溢,N=2EM |N| 产生正上溢或者负上溢 阶码正上溢 E + 阶码负上溢 E - |N|0 产生正下溢或者负下溢,45,机器字长一定时,阶码越长,表示范围越大,精度越低 浮点数表示范围比定点数大,精度高,E0,M0,Range & precision,46,Example,8位定点小数可表示的范围 0.0000001 - 0.1111111 1/128 - 127/128 设阶码2位,尾数4位 可表示2-11*0.0001 - 211*0.1111 0.0000001 - 111.1 设阶码3位,尾数3位 可表示2-111*0.001 - 2111*0.111 0.0000000001 -

17、 1110000,47,浮点数的规格化问题normalization,0.05*101 50*10-2 5*10-1 0.01*21 1*2-2 1*2-1 尾数最高有效位为1的数称为规格化数。 为了在尾数中表示最多的有效数据位 为了数据表示的唯一性。 两种规格化数 1.XXXXX 0.1XXXXX 机器零:全部为0,特殊的数据编码,48,32/64位浮点数(Float/Double),N = (-1)SX M X 2E,构成:阶码E,尾数M,符号位S,,浮点数标准 IEEE754,49,规格化数(Normal): (-1)s1.m2e-127 非规格化数(Subnormal)(e=0) (-

18、1)s0.m2-126 尾数部分采用原码表示,故表示范围对称 emin=1, emax=254/2046 最高数字位总是1,该标准将这个1缺省存储(隐藏位implicit),使得尾数表示范围比实际存储多一位,浮点数标准 IEEE754,50,单精度浮点数编码格式,+0/-0,0,0,0/1,(-1)S (0.f) 2(-126),f(非零),0,0/1,(-1)S (1.f) 2(e-127),f,1254,0/1,- ,0,255,1,+,0,255,0,sNaN Signaling NaN,非零0xxxx,255,0/1,NaN Not a Number,非零1xxxx,255,0/1,表

19、示,尾数,阶码,符号位,51,IEEE754 规格化浮点数表示范围,Emax=2046, f=1.1111,1.111122046-1023 =21023(2-2-52),Emin=1, M=0, 1.021-1023 =2-1022,双精度,Emax=254, f=1.1111, 1.11112254-127 = 2127(2-2-23),Emin=1, M=0, 1.021-127 = 2-126,单精度,最大值,最小值,格式,52,一个奇怪的程序,main() double a,b,c; int d; b=3.3; c=1.1; a=b/c; d=b/c; printf(“%f,%d“,

20、a,d); if (3.0!=a) printf(“nReally? 3.0!-a“); ,3.000000,2,?,Really?3.0!=a,二进制存储,浮点数不是精确数,53,一个奇怪的程序,main() float a,b,c; int d; b=3.3; c=1.1; a=b/c; d=b/c; printf(“%f,%d“,a,d); if (3.0!=a) printf(“nYeah!“); ,3.000000,2,54,2.2 数值数据表示方法,计算机数值数据表示的特点 进位制数 数的定点、浮点表示 机器数,55,2.2.2 机器数/机器码,真值 (书写用) 将用+ -表示正负

21、的二进制数称为符号数的真值 机器不能识别书写格式,计算机如何表示负数? 机器码 (机器内部使用) 将符号和数值一起编码表示的二进制数称为机器码 原码 Signed magnitude 反码 Ones complement 补码 Twos complement 移码 Biased notation,56,原码表示法(Signed magnitude),计算机如何表示数的正负? 增加符号位 Add a sign bit 最高位为符号位,0为正,1为负,数值位不变,57,原码表示示例,+0原=0.0000 -0原=1. 0000 -0.1111原 = 1.1111 0.1111原 = 0.1111

22、1110原 = 01110 -1110原 = 11110,58,求值方法 x = (-1)X0( x12n-1 + + xn-12 +Xn),求值方法 x = (-1)X0( x12-1 + + xn-12-(n-1) +Xn2-n),原码表示法,59,原码在数轴上的表示,-7+7 7个正数,7个负数,两个零 -(2(n-1) -1) 2(n-1) -1,60,Signed Magnitude,Both positive and negative zero Equal number of positives and negatives Easy to interpret First bit i

23、s the sign Remaining bits are number Sounds ideal? But 01011001+11001101=?,61,Signed Magnitude?,010110012 = 8910 + 110011012 = -7710 001001102 = 3210,If signs are different sign of result will be sign of larger operand,62,Shortcomings of signed magnitude?,Arithmetic circuit complicated Also, two zer

24、os 0x00000000 = +0ten 0x80000000 = 0ten What would two 0s mean for programming? Therefore sign and magnitude abandoned,63,反码表示法,所谓反码,就是二进制的各位数码取反 符号位表示方法与原码相同 Example: 710 = 001112 ; -710 =110002 Called Ones Complement,64,反码0的表示,+0反=0.0000 -0反=1.1111 0.1111反=0.1111 -0.1111反=1.0000 1110反=01110 -1110反

25、=10001,65,反码公式证明,-1x=0时 假设 x=-0.x1x2xn 假x反= 1.x1x2xn x反+|x|=1.111 =1.111+0.001-0.001 =10.000-0.001 =2-2-n x反=2-2-n-|x|=2-2-n+x,66,反码公式证明,-2nx=0时 假设 x= -x1x2xn 假设 x反= 1x1x2xn x反+|x|= 1111 = 1111+0001-0001 = 10000-0001 = 2n+1-1 x反= 2n+1-1 -|x|= 2n+1-1 +x,67,求值方法(X反= x0x1 xn-1 Xn) x = -x0(2n -1)+ x12n-

26、1 + + xn-12 +Xn,反码表示法,68,反码在数轴上的表示,-7+7 正数7个,负数7个,零两个 -(2n -1) 2n -1,69,原码&反码,70,Shortcomings of Ones complement?,Arithmetic still a somewhat complicated. Still two zeros 0x00000000 = +0ten 0xFFFFFFFF = -0ten Although used for awhile on some computer products, ones complement was eventually abandone

27、d because another solution was better.,71,3与15、-9等效,有趣的时钟,12,3,6,9,72,同余的概念,假定有两个数a和b,若用某一个整数m去除,所得的余数相同,就称a,b两个数对m同余,记作:,ab (mod m),假设X,Y,Z三个数,满足下列关系:Z=nX+Y (n为整数),则称Z和Y对模X是同余的,记作:,ZY (mod X) YZ (mod X),73,例子,Z=nX+Y X为模数 以12为模 3=12+3=24+3=36+3 3,15,27,39 都是相等的 -9=12-9=3 -9与3是相等的 0=12,74,例子(减法变成加法),

28、7+(-4) =7+(12-4) =7+8 =15=3,75,3. 补码表示法,求值方法(X补= x0x1 xn-1 Xn) x = -x02n + x12n-1 + + xn-12 +Xn 例如:10000100的真值为-128+4=-124,76,补码在数轴上的表示,-8+7 正数7个,负数8个,零1个 -2n 2n -1,77,反码、补码数轴表示比较,78,补码编码的简便方法,正值直接取其原来的二进制码,对于负数是在对其逐位取反之后再在最低位LSB加1。 -10101010补 =1 01010101+1 =1 01010110 -0.010101补=1.101011,79,证明,定点小数

29、时 x反=2-2-n+x x补=2+x =(2-2-n+x)+2-n =x反+2-n,整数时 x反=2n+1-1+x x补=2n+1+x =(2n+1-1+x)+1 = x反+1,80,例子,X=+0.11111111 X补 =? X补 =0.11111111 X=-0.11111111 X补 =? X补 =1.00000000 +0.00000001 =1.00000001,X=-0.00000000 X补 =? X补 =1.11111111 +0.00000001 =10.00000000 =0.00000000,81,0000 0000 0000 0000 0000 0000 0000

30、0000two = 0ten 0000 0000 0000 0000 0000 0000 0000 0001two = + 1ten 0000 0000 0000 0000 0000 0000 0000 0010two = + 2ten . 0111 1111 1111 1111 1111 1111 1111 1110two = + 2,147,483,646ten 0111 1111 1111 1111 1111 1111 1111 1111two = + 2,147,483,647ten 1000 0000 0000 0000 0000 0000 0000 0000two = 2,147,

31、483,648ten 1000 0000 0000 0000 0000 0000 0000 0001two = 2,147,483,647ten 1000 0000 0000 0000 0000 0000 0000 0010two = 2,147,483,646ten . 1111 1111 1111 1111 1111 1111 1111 1101two = 3ten 1111 1111 1111 1111 1111 1111 1111 1110two = 2ten 1111 1111 1111 1111 1111 1111 1111 1111two = 1ten,32 bit MIPS s

32、igned numbers,82,模4补码,例: 00.1010110 11.0101001 又称 双符号位补码,变形补码,83,补码的性质,零有唯一的表示方式,0.0000补= -0.0000补= 0.0000,负一的补码,1.0000补= 1.0000,84,补码加减法的实现,X + Y补= X补+ Y补 X-Y补= X补+ -Y补,85,补码特点,唯一的零 符号位可以直接参与运算 减法可以变成加法 负数比整数多一个,86,4. 移码表示法 Biased/Excess Notation,保持数据原有大小顺序,便于进行比较操作。 通常仅用于表示整数,表示浮点数的阶码。 与补码的符号位相异,数

33、据位相同,定义 x移 = 2n+x -2n x 2n,87,移码表示,X=+10101 X移 =25+10101=110101 X=-10101 X移 =25-10101 0101000001 001011,88,移码在数轴上的表示,定点小数没有移码定义 平行移动,89,各种编码,+3,-1,0,3,111,+2,-2,1,2,110,+1,-3,2,1,101,0,-4,3,0,100,-1,+3,+3,+3,011,-2,+2,+2,+2,010,-3,+1,+1,+1,001,-4,0,+0,+0,000,移码,补码,反码,原码,Binary,Number Stored,Number R

34、epresented,90,定点小数机器码表示范围,X0.X1X2X3Xn-1Xn n+1位定点数,数据位n位 原码,反码表示区间一致 2-n-1, 1-2-n (-1,1) 补码 -1, 1-2-n -1,1) 2+x,91,定点整数数机器码表示范围,X0X1X2X3Xn-1Xn n+1位定点数,数据位n位 原码,反码表示区间一致 1-2n, 2n-1 (-2n, 2n) 补码 -2n, 2n-1 -2n, 2n) 2n +x,92,几种编码的应用,移码主要用于表示浮点数的阶码 补码加减法运算方便,得到了广泛的应用。 目前计算机中广泛采用补码表示方法。 少数机器采用原码进行存储和传送,运算的

35、时候改用补码。,93,几种机器编码简便方法对比,符号位为一,逐位取反,符号位为零,等于真值本身,反码,符号位为零,数值位逐位取反,末位加一,符号为一,数值位为真值本身,移码,符号位为一,逐位取反,末位加一,符号位为零,等于真值本身,补码,符号位为一,数值位为真值本身 简便编码方法:加符号位,符号位为零,等于真值本身,原码,94,例子,小数无移码,0.00001111,0.00001111,0.00001111,+0.00001111,100001111,000001111,000001111,000001111,+00001111,1.11110000,111110000,反码,小数无移码,0

36、11110001,移码,1.11110001,111110001,补码,1.00001111,100001111,原码,-0.00001111,-00001111,机器码,95,2.2.3 十进制数的表示 BCD码,Binary coded decimal二进制编码的十进制 几种BCD码 8421码 (8*X3+4*X2+2*X1+1*X0) 2421码 (2*X3+4*X2+2*X1+1*X0) 余三码 (8*X3+4*X2+2*X1+1*X0)+0011 BCD码运算的问题(编码校正),96,BCD码运算问题,8421码的校正 87100001111111 非法编码 余三码的校正 0000

37、1100110110 3 非法编码 44011101111110 ?非法编码 相对而言运算比较复杂,97,2.3 数据信息的校验,解决编码传输问题 在编码中引入一定冗余,增加代码的最小码距,使编码出现一个错误时就成为非法代码 奇偶信息的校验 海明校验 CRC 循环冗余校验,98,2.3.1 奇偶校验,奇校验: 校验码(数据校验位)中1的个数为奇数 0000 00001 0001 00010,偶校验:,奇校验:,检错码:,G=0表示数据正常,否则表示出错,99,检测码不为零表示错误发生 同时发个多个错误时的情况?,奇偶校验,100,奇偶校验性能,00001,00001,00001,00000,0

38、1111,11111,00001,正确传输,正常检错,正常检错,不能检错,仅能识别奇数个错误,不能纠正错误,101,2.3.2 海明校验Hamming Codes,奇偶校验 一个校验位 只能检错,无法纠错 1950海明码 多个奇偶校验组 既能检错,也能纠错,102,可检测一位错海明码,分组交叉奇偶校验法 将编码中的数据位分成r个校验组,组内采取奇偶校验,每组一个校验位,可构成r位检错码。r1 全部检错码为0表示数据正常 不为零时检错码的值表示编码中出错数据位 可检错,也可纠错 每一数据位至少参加2个校验组,一位出错,可引起多个检错码的变化。,103,可检测一位错海明码,设海明码N位,其中数据位

39、k位,校验位r位 校验位r位表示共r个校验组 N=k+r2r1 (4,3)编码 D4D3D2D1P3P2P1 H7H6H5H4H3H2H1 包含G3G2G1个校验组,P3P2P1分属其中一组,104,H7参与G3 G2 G1三校验组,H6参与G3 G2两校验组,H5参与G3 G1两校验组,H3参与G2 G1两校验组,G2G1=0 表示仅仅 P3位出错,G3G1=0 表示仅仅 P2位出错,G3G2=0 表示仅仅P1位出错,备注,H7出错,111,H6出错,110,H5出错,101,H3出错,011,P3存放在H4位置,H4出错,100,P2存放在H2位置,H2出错,010,P1存放在H1位置,H

40、1出错,001,数据正常,000,出错位,G3G2G1,可检测一位错海明码,105,P1,P2,D1,P3,D2,D3,D4,G1(P1,H3,H5,H7) G2(P2,H3,H6,H7) G3(P3,H5,H6,H7),P1=D1D2D4 P2=D1D3D4 P3=D2D3D4,可检测一位错海明码,106,指错、纠错原理,G1=P1D1D2D4 G2=P2D1D3D4 G3=P3D2D3D4 检错码G3G2G1 !=000表示出错,具体值表示出错位置 将对应位置上的数位取反即可纠错 假设D1D2同时出错,则G3G2G1=110 ? 引入总校验位 P4=H1H2H3H4H5H6H7 G4=P4

41、H1H2H3H4H5H6H7 判断一位错两位错,107,CRC循环冗余校验码,检错,纠错码 数据位k位,校验位r位 N=k+r2r1,108,模2运算规则,加法:按位加不考虑进位 减法:按位减不考虑借位 异或运算,不考虑进位 乘法:部分积之和按模2加法计算 除法:余数首位为1,商上1 ,否则上0 10000101 =101*101+01,109,多项式,将待编码的k位有效信息位组表达为多项式M(x) M(x)=bk-1Xk-1 + bk-2Xk-2 + b1X1 + b0 将数据左移r位,以便空出r位校验位,多项式变成M(x)X r 将M(x)X r除以生成多项式G(x) 商为Q(x) 余数R

42、(x) M(x)X r=Q(X)G(x)+R(X) 将余数拼接在空出的校验位上 M(x)X r+R(X)=(Q(X)G(x)+R(X)+R(x) Q(X)G(x) CRC编码可被G(x)表示的编码整除,110,(7,4)循环码出错模式G(x)=1011,1,101,0100010,2,111,1000010,3,110,1110010,4,011,1101010,5,100,1100110,6,010,1100000,7,001,1100011,无,000,1100010,出错位,余数,A1A7,0,1,1,0,1,0,0,111,生成多项式,任何一位发生错误都应使余数不为0 不同位发生错误应

43、当使得余数不同 对余数继续作模2除,应使余数循环 (n,k)码,将Xn-1分解为若干质因子 根据编码要求的码距选择其中的因式或若干因式的乘积为生成多项式,112,生成多项式,x7-1=(x+1)(x3+x+1)(x3+x2+1) G(x)=x+1=11 (7,6)码,判一位错 G(x)= x3+x+1 G(x)(x3+x2+1) (7,4)码,判两位错或纠一位错 G(x)=(x+1)(x3+x+1)=11101 (7,3)码,判两位错并纠一位错,113,Example,现有一个(7,3)循环冗余校验码,其中3位为信息位,求信息位M(x)=110的CRC码,其中生成多项式为G(x)=11101。

44、,114,(7,3)循环码出错模式G(x)=11101,6,0010,1101011,7,0001,1101000,无,0000,1101001,出错位,余数,A1A7,1+2+3,0100,0010001,5+6+7,0111,1101110,1+6,1100,0101011,2+3,1010,1011001,3+4,0101,1110001,4+5,1100,1100101,5+6,0110,1101111,6+7,0011,1101010,出错位,余数,A7A1,115,CRC(Cyclic Redundancy Check,可检测出所有的双错、奇数位错 可检测所有小于、等于校验位长度的

45、突发错 突发错是指几乎连续发生的一串错,突发长度就是指从出错的第一位到出错的最后一位的长度(但是,中间并不一定每一位都错) 广泛运用于通信传输领域,磁存储领域,116,本章重点内容,二进制表示以及进制转换运算 2X、X/2 、X/64的求解方法 真值、原码、补码、 移码、 反码的编码方法。 熟练掌握 纠错码和检错码 奇偶校验熟练掌握 海明,CRC会计算 BCD码 机器数 有权码 校验码概念,117,Example(清华大学1998年试题),写出数据-11.4的规格化浮点数形式表示,阶码采用4位移码,尾数用12位原码,含符号位。 写出上述格式的规格化浮点数所能表示的最大正数和最小正数。 说明上述格式中浮点数的机器零 说明浮点数中隐藏位含义和用法,118,解答,-11.4=-1011.01100111 -11.4=-0.101101100111*24 -11.4=-1.01101100111*23 -11.4=-1.01101100111*23 -11.4=-01101100111*23 -11.4=1,01101100111*23 M=1,01101100111 E=3=1,011,119,解答,(-1)s1.m2e 最大整数 1.1111111111127 =(2-2-11) 27 最小整数 1.000000000002-8 = 2-8,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1