版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章运算方法与运算器2计算机内部信息信息控制信息数据信息指令控制字数值型数据非数值型数据定点数浮点数数字字符汉字数据信息化的表示方法计算机内部流动的信息:控制信息(指令);数据信息(数值信息、非数值信息)。数值信息:(定点数、浮点数)→机器数(原码、反码、补码、移码)。非数值信息:BCD码(表示十进制数);ASCII码(表示西文字符);国标码(表示汉字);声音;图像(音频、视频)等编码。对于所有信息在传送时进行抗干扰编码→奇偶校验编码、海明校验编码、CRC校验编码。42.0数制与数制转换任何R进制数N均可表示为(N)R=K-mR-m+…
K-1R-1+K0R0+K1R1+…
+KnRn
=R:基值。表示系数Ki可以取0,1,…,R-1共R个数字并且是逢R进一的。Ri:位权值。KiRi表示Ki在数列中所代表的实际数值。任何进位计数制都具有两个基本因素:基值和位权值。5计算机中常用进位计数制二进制数字:0,1进位方式:逢二进一后缀:B如10100011B八进制数字:0,1,2,3,4,5,6,7进位方式:逢八进一后缀:O或Q如137.67Q6十进制数字:0,1,2,3,4,5,6,7,8,9进位方式:逢十进一后缀:D或无如1357.26十六进制数字:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F进位方式:逢十六进一后缀:H如19BF.36EH7数制转换原则:若两个有理数相等=>则这两个有理数的整数部分、小数部分应分别相等。因此,数制转换原则为:
整数部分、小数部分、分别进行转换81.任意进制数转换为十进制数方法:按权展开相加。即利用按位展开公式将系数与位权值相乘后求和。例1.将二进制数10110011.10111转换为十进制数。(10110011.10111)2
=27+25+24+21+20+2-1+2-3+2-4+2-5
=128+32+16+2+1+0.5+0.125+0.0625+0.03125
=(179.71875)109例2.将八进制数263.56转换为十进制数。(263.56)8
=2×82+6×81+3×80+5×8-1+6×8-2
=128+48+3+0.625+0.09375
=(179.71875)10例3.将十六进制数B3.B8转换为十进制数。(B3.B8)16
=B×161+3×160+B×16-1+8×16-2
=11×161+3×160+11×16-1+8×16-2
=176+3+0.6875+0.03125
=(179.71875)10102.十进制数转换为任意进制数转换方法:整数部分除基取余①把被转换的十进制整数除以基数R,取其余数即为R进制整数的最低位的数字。②再用基数R去除前次所得的商,所得余数即为R进制整数相应位的数字。③重复②,直到商为0为止。转换方法:小数部分乘基取整①把被转换的十进制小数乘以基数R,取乘积的整数部分作为R进制小数的最高位的数字。②再用基数R乘前一步乘积的小数部分,取新的乘积的整数部分为R进制小数相应位的数字。③重复②,直到乘积的小数部分为。或求得所要求的位数为止。11例3.将(233.8125)10转换为二进制数。整数部分22331…余数
21160
2580
2291
2140
271
231
211
0(233)10=(11101001)212小数部分
0.8125
×2
1.6250
×2
1.2500
×2
0.5000
×2
1.0000
(0.8125)10=(0.1101)2(233.8125)10=(11101001.1101)213例4.将(233.8125)10转换为十六进制数。整数部分
162339
161414
0
小数部分
0.8125
×16
4.8750
×16
13.0000(233.8125)10=(E9.4D)16143.二、八、十六进制数之间的转换因为16=24,8=23二进制数与八进制数之间的转换方法:整数部分从最低有效位开始,每三位二进制数对应一位八进制数,不足三位高位补“0”。小数部分从最高有效位开始,每三位二进制数对应一位八进制数,不足三位,低位补“0”。二进制与十六进制数间的转换方法:整数部分从最低有效位开始,每四位二进制数对应一位十六进制数,不足四位高位补“0”。小数部分从最高有效位开始,每四位二进制数对应一位十六进制数,不足四位低位补“0”。15例5.将转换(1011100.10111)2为八进制和十六进制数。
001011100.101110134.56(1011100.10111)2=(134.56)801011100.101110005C.B8(1011100.10111)2=(5C.B8)162.1数据信息的表示方法2.1.1数值数据编码的表示方法2.1.2非数值数据编码的表示方法2.1.3信息抗干扰编码的表示方法2.1.1数值数据的表示正、负符号二进制的绝对值真值机器数0或1二进制的绝对值符号数值部分1.真值与机器数1.真值与机器数例:设机器字为8b字长,数N1的真值为(+1100100)2,数N2的真值为(-1100100)2,则N1
、N2对应的机器数为:0N1110010011100100N2符号数值部分2.机器数的编码表示通常有四种表示法:原码表示法补码表示法反码表示法移码表示法(1)原码表示法0或1二进制的绝对值保持原有的数值部分的形式不变,只将符号用二进制代码表示。原码表示是最简单的机器数表示方法。纯小数原码表示定义纯整数原码表示定义原码纯小数原码表示定义纯小数时,设x=x0.x1x2…
xn,其中x0为符号位,共n+1位字长,则
X0≤X≤1-2-n
1-X=1+|x|-(1-2-n)≤X≤0
[X]原=例如,若x1=+0.1011x2=-0.1011,字长为8b,则其原码分别为:[x1]原=0.1011000[x2]原=1+0.1011000=1.1011000零的原码有正零和负零两种形式:[+0]原=0.00...00[-0]原=1.00...00纯整数原码表示定义纯整数时,设x=x0x1x2…
xn,其中x0为符号位,共n+1位字长,则
X0≤X≤2n-1
2n-X=2n+|x|-(2n-
1)≤X≤0
[X]原=例如,若x1=+1011x2=-1011,字长为8b,则其原码分别为:[x1]原=00001011[x2]原=27+00001011=10001011零的原码有正零和负零两种形式:[+0]原=000...00[-0]原=100...00
原码的特点:
①
采用原码表示法简单易懂,适用于表示带符号数。
②
它的最大缺点是零有两种表示形式:+0与-0。故不能用于加/减运算。(2)补码表示法计算机中,运算结果≥模数时,说明该值已超出机器的表示范围,模数自然丢掉。模/模数:计算器具的容量。计算机中,机器数表示数据的字长即位数是固定的。n+1位数的模数=n+1位数全为1后,再在最末位加1n位整数的模数=2n+1
n位小数的模数=225补码概念的导入引入补码的目的是为了解决机器数的运算问题。补码概念的导入:根据运算时“模”的概念,以机器钟为例
5-2=5+[-2]补=5+10=3(Mod12)对于某一确定的模,某数减去一个数,可以用加上那个数的负数的补数来代替。
[x]补=M+x(ModM)当x≥0时,M+x大于M,把M丢掉,所以[x]补=x,即正数的补数等于其本身。当x<0时,[x]补=M+x=M-|x|,所以负数的补数等于模与该数绝对值之差。纯小数补码表示定义纯小数时,设x=x0.x1x2…
xn-1,其中x0为符号位,共n位字长,则
X0≤X≤1-2-n
2+X=2-|x|-1
≤X≤0
[X]补=例如,若x1=+0.1011x2=-0.1011,字长为8b,则其补码分别为:[x1]补=0.1011000[x2]补=2-0.1011000=1.0101000补码的零只有一个,即0.0000000。补码1.0000000表示负1(mod2)纯整数补码表示定义纯整数时,设x=x0x1x2…
xn-1,其中x0为符号位,共n位字长,则
X0≤X≤2n-1
2n+1+X=2n+1-|x|-2n≤X≤0
[X]补=例如,若x1=+1011x2=-1011,字长为8b,则其补码分别为:[x1]补=00001011[x2]补=28-00001011=11110101(mod2n+1)
对补码进行运算,可将加、减运算统一成加法运算,降低了对计算机运算器的要求,因此得到广泛的应用。原码求补码的方法:正数,不变(相同)即原码=补码;负数,符号位不变,数值位按位取反加1。补码求真值方法:正数,[x]补=[x]原负数,对[[x]补]补=
[x]原原码求真值:[x]原符号位0→+,1→-。(3)反码表示法对于正数来说,反码=原码=补码。对于负数来说,符号位:与原码、补码的符号位定义相同。数值:将原码的数值位按位变反。例如,若x1=+0.1011x2=-0.1011,字长为8b。[x1]反=0.1011000=[x1]原=[x1]补[x2]反=1.0100111[x2]补=1.0101000[x2]原=1.1011000反码的零有两个0.0000和1.11111(4)移码移码也叫增码,常用来表示整数形式的计算机浮点数的阶码(表示指数)。若纯整数X为n位(包括符号位),则其移码定义为:
[x]移=2n+[x]补-2n≤X≤2n-1方法:补码将符号位求反可得移码设字长为8b,若x1=+1000(2),x2=-1000(2),
[x1]补=00001000[x1]移=10001000[x2]补=11111000[x2]移=01111000原、反、补、移码转换方法正数原码=反码=补码移码=补码符号位取反,数值位不变负数反码=原码符号位不变,数值位取反补码=反码末位加1移码=补码符号位取反,数值位不变3.数的定点表示计算机中小数的小数点并不是用某个数字来表示的,而是用隐含的小数点的位置来表示。根据小数点的位置是否固定,又可分为定点表示定点小数表示形式定点整数表示形式浮点表示3.数的定点表示
⑴定点小数
将小数点固定在符号位df之后、数值最高位d-1之前,这就是定点小数形式。其格式如下所示:⑵定点整数
将小数点固定在数的最低位d0之后,这就是定点整数形式。其格式如下所示:dfd-1d-2
……………d-(n-1)△dfdn-1dn-2
…………….d0△①设字长为8b,用原码表示时,其表示范围如下:
最小负数最大负数最小正数最大正数
1.11111111.00000010.00000010.1111111-(1-2-7)-2-72-71-2-7定点小数的表示范围:②设字长为8b,用补码表示时,其表示范围如下:
最小负数最大负数最小正数最大正数
1.00000001.11111110.00000010.1111111
-1-2-72-71-2-7①设字长为8b,用原码表示时,其表示范围如下:
最小负数最大负数最小正数最大正数
11111111100000010000000101111111-(27-1)=-127-1
+1
27-1=127②设字长为8b,用补码表示时,其表示范围如下:
最小负数最大负数最小正数最大正数
10000000111111110000000101111111
-27=-128-1
+1
27-1=127定点整数的表示范围:4.数的浮点表示法浮点表示法把字长分成阶码(表示指数)和尾数(表示数值)两部分。X=D×RE阶码E:用整数形式表示,指明小数点在数据中的位置,决定了浮点数的表示范围。尾数D:用定点小数表示,给出有效数字的位数决定了浮点数的表示精度;阶码的底R:一般为2、8或16,且隐含规定,在浮点数表示中不出现,通常取2;⑴浮点数的表示格式JEm-1…E1SD-1…D-(n-1)阶符阶码值数符尾数值决定范围决定精度第一种浮点格式补码定点整数形式补码定点小数表示形式浮点数另一种格式:
SJEm-1…E1D-1…D-(n-1)阶符阶码值数符尾数值存储的数X可表示为X=D×2E。补码定点整数形式39(2)浮点数的规格化浮点数采用规格化表示方法的目的:⑴为了提高运算精度,充分利用尾数的有效数位。⑵为了浮点数表示的唯一性。例:0.100100×23=0.001001×25对于二进制数,就是要满足浮点数规格化①原码规格化后正数为0.1×……×的形式。负数为1.1×……×的形式。②补码规格化后正数为0.1×……×的形式。负数为1.0×……×的形式。通过调整阶码,使其尾数D满足下面形式的数:当尾数的值不为0时,尾数域的最高有效位应为1,否则以修改阶码同时左右移小数点的办法,使其变成这一表示形式。41规格化数的定义浮点数的尾数D满足的数为规格化数。原码表示的规格化数对于[D]原=Sf.S1S2…Sn,则其规格化标志是:
S1=1即:[D]原=0.1xx…x或[D]原=1.1xx…x补码表示的规格化数对于[D]补=Sf.S1S2…Sn,其规格化标志是:
Sf⊕S1=1即:[D]补=0.1xx…x或[D]补=1.0xx…x⑶浮点数的表示举例某机用16b表示一个数,阶码部分占8b(含一位符号位),尾数部分占8b(含一位符号位)。设x1=-100,x2=127/256,试写出x1和x2的两种浮点数表示格式。例2.1
①x1=-100=-(01100100.)2=-27×0.1100100
阶码的补码为(+7)补=00000111
阶码的移码为(+7)移=10000111
尾数=1.0011100(规格化补码)第一种浮点表示的格式为
00000111,1.0011100
第二种浮点表示的格式为
1,10000111,0011100解:移码补码②x2=127/256=(1111111)2×2-8=2-1×0.1111111
阶码的补码为(-1)补=11111111
阶码的移码为(-1)移=01111111
尾数=0.1111111(规格化补码)第一种浮点表示的格式为
11111111,0.1111111
第二种浮点表示的格式为
0,01111111,1111111解⑷浮点数的表示范围
设阶码和尾数各为4b(各包含一个符号位),则其浮点数的表示表示范围分别为:①阶码范围
最小负数最大负数最小正数最大正数
1000111100010111 -8
-1+1+7②规格化尾数表示范围
最小负数最大负数最小正数最大正数
1.0001.0110.1000.111-1-(2-3+2-1)
2-11-2-3二进制补码十进制真值二进制补码十进制真值
最小负数最大负数最小正数最大正数
20111×1.00021000×1.01121000×0.10020111×0.11121111×1.00020000×1.01120000×0.10021111×0.111-27×1-2-8×(2-3+2-1)
2-8×2-127×(1-2-3)③规格化浮点数表示范围二进制补码阶码用移码十进制真值这里规格化尾数的最大负数的补码是1.01…1的形式,而不是1.10…0的形式,是因为1.10…0不是规格化数,所以规格化尾数的最大负数应是:
-(0.10…0+0.0…01)=-0.10…01,而[-0.10…1]补=1.01…1,即-(2-(n-1)+2-1)注意:(5)溢出问题定点数判断溢出的办法是对数值本身进行判断,浮点数是对规格化后的阶码进行判断。当浮点数阶码大于机器的最大阶码,称为上溢;机器产生上溢时,不能再继续运算,一般要进行中断处理。而小于最小阶码时,称为下溢。出现下溢时,一般规定把浮点数各位强迫为零(当做零处理),机器仍可继续进行运算。2.1.2非数值数据的表示非数值数据:文字和符号(字符)、图像、声音等非数值数据的表示:对其进行二进制编码1、字符编码BCDASCII2、汉字编码1、字符编码字符的表示:采用字符编码,即用规定的二进制数表示文字和符号的方法。ASCII码(AmericanStandardCodeForInformationInterchange):美国标准信息交换码,为国际标准。常用的7位ASCII码的每个字符都由7个二进制位b6~b0
表示,有128个编码,最多可表示128种字符;其中包括:10个数字‘0’~‘9’:30H~39H,顺序排列■■26个大写字母‘A’~‘Z’:41H~5AH,顺序排列■26个小写字母‘a’~‘z’:61H~7AH,顺序排列各种运算符号和标点符号等。
其中95个编码,对应着计算机终端能敲入并且可以显示的95个字符,打印机设备也能打印这95个字符,如大小写各26个英文字母,0—9这10个数字符,通用的运算符和标点符号+,-,*,/,>,=,<等等。在计算机中,用1B(一个字节)表示一个ASCII码,其最高一位(b7位)填0,余下的7b可以给出128个编码,表示128个不同的字符和控制码。
另外的33个字符,其编码值为0—31和127,则不对应任何一个可以显示或打印的实际字符,它们被用作控制码,控制计算机某些外围设备的工作特性和某些计算机软件的运行情况。ASCII码编码表0000010100111001011101110000NULDLESP0
P‵p0001SOHDC1!1AQaq0010STXDC2“2BRbr0011ETXDC3#3CScs0100EOTDC4¥4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB′7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;K[k{1100FFFS,〈L、l|1101CRGS-=M]m}1110SORS.〉N^n~1111SIUS/?O_oDEL53二-十进制码(BCD码)BCD(BinaryCodedDecimal)码:使用二进制来编码十进制数字0~9。编码方法:一般使用4位二进制编码来表示1位十进制数字,在16个编码中选用10个来表示数字0~9。不同的选择构成不同的BCD码。54几种常见的BCD码8421码:特点:4位二进制数位的权从高到低依次是8、4、2、1;8421码实际上就是十进制数字0~9的二进制编码本身。是最常用的一种BCD码,在没有特别指出的一般情况下,所提到的BCD码通常就是指8421码。余3码:对应的8421码加上0011构成的。55十进制数串的表示方法非压缩格式字符串形式:用ASCII码来表示十进制数字或符号位,即1个字节存放1位十进制数字或符号位。字符n ;……;字符2;字符1;定义:用一个字节存放一个十进制BCD码和标志符。格式:标志┇BCD例:35H;05H特点:①存储单元利用率低,1个n位数串需占用n个连续单元存储。②该格式主要用于数串的输入与输出。56十进制数串的表示方法压缩格式的字符串形式:用BCD码来表示十进制数字,即1个字节存放2个十进制的数字;符号位放在最低位数字位之后:一般用B(1011)表示正号;用D(1101)表示负号。例如+258被表示成258BH,占用两个字节,-34被表示为034DH,也占用两个字节。定义:用一个字节存放2个十进制BCD码数位特点:①存储单元利用率高。②可用于BCD串的存储和算术运算。共同点:必须给出它在主存中的首地址和位长。57十进制数串的表示方法采用十进制表示数据的优点是:对于需要大量地进行输入输出数据而运算简单的场合,大大减少了十→二和二→十转换,提高了机器的运行效率;十进制数串的位长可变,许多机器中规定该长度从0到31,有的甚至更长。不受定点数和浮点数统一格式的约束,从而提高了数据的表示范围和运算精度。2、汉字编码对于汉字,计算机的处理技术必须解决三个问题:汉字输入汉字存储与交换汉字输出它们分别对应着汉字输入码、内码、字模码的概念。因此,汉字编码系统存在以下三种编码:1、汉字输入码2、汉字内码3、汉字字模码(1)汉字输入码汉字输入码也称外码,是为了将汉字输入计算机而编制的代码,是代表某一汉字的一串键盘符号。汉字输入码种类:数字编码:如区位码、国标码等。拼音编码:如全拼码、双拼码、简拼码、智能ABC等。。字形编码:如王码五笔、郑码等。(1)汉字输入码两种典型的数字编码:区位码:是将国家标准局公布的6763个两级汉字分为94个区,每个区分94位,实际上把汉字表示成二维数组,每个汉字在数组中的下标就是区位码。例如“中”字位于54区48位,“中”字的区位码即为“5448”。国标码:将区位码加2020H,占用两个字节例如“中”字的国标码为区位码5448的区码和位码转化为16进制,为3630H,再加2020H得国标码5650H。61汉字输入码拼音码:利用汉字的字音属性对汉字编码。如:全拼、双拼、智能ABC、紫光拼音输入法等。特点:易记。但击键次数多,重码多,不能盲打。字形码:以汉字的笔划和顺序为基础的编码。也称字形编码。如:五笔字型、郑码等。特点:便于快速输入和盲打,但要经过训练和记忆。(2)汉字机内码汉字内码是用于汉字信息的存储、交换、检索等操作的机内代码,一般采用两个字节表示。汉字可以通过不同的输入法输入,但其内码在计算机中是唯一的。英文字符的机内代码是7位的ASCII码,当用一个字节表示时,最高位为“0”。为了与英文字符能相互区别,汉字机内代码中两个字节的最高位均规定为“1”。机内码等于汉字国标码加上8080H。例如“中”字的机内码为D6D0H。(3)汉字字模码汉字字模码又称汉字字形码,它是将汉字字形经过点阵数字化后形成的一串二进制数,用于汉字的显示和打印。根据汉字输出的要求不同,点阵有以下几种:简易型汉字:16×16,32字节/汉字普通型汉字:24×24,72字节/汉字提高型汉字:32×32,128字节/汉字精密型汉字:48×48
288字节/汉字汉字字库:将所有汉字的字模点阵代码按内码顺序集中起来,构成了汉字库。64对于16×16的汉字字形点阵,国标两级7445个汉字和符号要占用256K字节。如果有4种字体,则需1MB存储空间。因为字形点阵的信息量很大,所占存储空间也很大,因此字形点阵不用于机内存储,而采用汉字库存储。字库中存储了每个汉字的点阵代码。当显示输出或打印输出时才检索字库,输出字形点阵,得到字形。当机内装有多种汉字系统时,各系统自带的字库,在同时使用时,有时会发生冲突。65例:16×16的汉字字形点阵,每个汉字要占用32个字节。汉字输入码汉字交换码(国标码)汉字输入法程序汉字字模码字形检索程序汉字显示汉字打印汉字内码+8080H672.1.3信息的抗干扰编码(数据校验码)数据在计算机系统内形成、存取和传送过程中,可能会因为某种原因而产生错误。为减少和避免这类错误,一是尽可能采取多种措施提高机器本身的抗干扰能力和可靠性,另一方面是在数据编码上采取检错纠错的措施。数据校验码:具有检测某些错误或带有自动纠正错误能力的数据编码方式。常用的数据校验码有奇偶校验码、海明校验码、循环校验码。编码与校验过程有效信息校验码编码器校验码校验位校验码发送/写/存接收/读/取有效信息校验位有效信息校验位校验码译码器正确错误输出691.奇偶校验码的编码奇偶校验码是一种最简单、最常用的校验码,广泛用于主存的读写校验或ASCII码字符传送过程中的检查。基本原理:在n位有效信息位上增加一个二进制位作为校验位,构成n十1位的奇偶校验码。校验位P的取值(0或1)使n+l位的奇偶校验码中“1”的个数为奇数(称为奇校验Odd)或为偶数(称为偶校验Even)。校验位的位置在有效信息位的最高位之前或者在最低位之后。70例:A6A5A4A3A2A1A0为7位有效信息,加一个校验位P,构成8位的奇偶校验码为
A6A5A4A3A2A1A0P或PA6A5A4A3A2A1A0若采用偶校验,则:
Peven=A6⊕A5⊕A4⊕A3⊕A2⊕A1⊕A0若采用奇校验,则
Podd
=Peven71例:求7位信息码1100111的奇校验码和偶校验码(设校验位在最低位)。解:(1)1100111的奇校验码因为1100111中“1”的个数为奇,所以奇校验位P=0,1100111的奇校验码为11001110。(2)1100111的偶校验码因为1100111中“1”的个数为奇,所以偶校验位P=1,1100111的偶校验码为11001111。72奇偶校验码的编码电路73奇偶校验码的校验若接到一奇校验码中“1”的个数为偶数,或接到一偶校验码中“1”的个数为奇数,则表示有一位出错。以上面的七位有效信息的奇偶校验码为例:偶校验错:E=A6⊕A5⊕A4⊕A3⊕A2⊕A1⊕A0⊕Peven奇校验错:E=A6⊕A5⊕A4⊕A3⊕A2⊕A1⊕A0⊕PoddE=0,表示无错;E=1,表示校验出错74奇偶校验码的校验电路75奇偶校验码的校错能力奇偶校验码只能发现奇数位个错误,而无法发现偶数位个错误,而且即使发现奇数位个错误也无法确定出错的位置;因而无法自动纠正错误。但由于现代计算机可靠性比较高,出错概率很低,而出错中只有一位出错的概率最高,因此用奇偶校验检测一位出错,能够满足一般可靠性要求。在CPU与主存的信息传送过程中,奇偶校验被广泛应用。762.6.2海明校验码海明校验码的实质在奇偶校验的基础上,增加校验位的位数,构成多组的偶校验,以便发现错误并自动纠正错误。海明校验码校验位数的选择设有效信息位的位数为n,校验位数为k,则能够检测一位出错并能自动纠正一位错误的海明校验码应满足下面关系:
2k-1≥n+k由此式可计算出具有检1纠1错能力的海明校验码中n与k的关系,如表2.6所示。77有效信息位与校验位的关系78海明校验码的编码规则(1)n位有效信息选择k个校验位,构成n+k位的海明校验码。若海明校验码位号从右向左(或从左向右)按从1到n+k排列,则校验位的位号分别为2i-1,i=1,2…k,有效信息位按原排列次序安排在其它位号中。例:一个字符的BCD码为A4A3A2A1,根据表2.6选择k=3。构成4+3=7位的海明校验码。位号H7H6H5H4H3H2H1
编码A4A3A2
P3A1
P2
P1P1、P2、P3、分别为三个校验位,其Pi下标的2i-1是它们在海明码中的位号,即20、21、22、的位置。79(2)分组的方法和原则:k个校验位构成k组奇偶校验,每个有效信息位都被2个或2个以上的校验位校验。被校验的位号等于校验它的校验位位号之和。如上例中,A3的位号为6,6=2+4,所以A3被P2、P3校验。A4位号为7,7=1+2+4,所以A3被P1、P2、P4校验。以此方法可知每个信息位分别被哪些校验位校验。A1(H3):P1、P2A2(H5)
:P1、P3A3(H6):P2、P3A4(H7)
:P1、P2、P380由此可得形成k个校验位的校验组
P1:A1、A2、A4(第一组)P2:A1、A3、A4、(第二组)P3:A2、A3、A4(第三组)(3)分组的偶校验:由已知的有效信息位按偶校验方法求出各个校验位,进而形成海明校验码。81例如,按偶校验求出各个校验位的方法是:P1=A1⊕A2⊕A4P2=A1⊕A3⊕A4P3=A2⊕A3⊕A482例:编制BCD字符“6”的海明校验码。解:“6”的BCD码为A4A3A2A1=0110P1=A1⊕A2⊕A4=0⊕1⊕0=1P2=A1⊕A3⊕A4=0⊕1⊕0=1P3=A2⊕A3⊕A4=1⊕1⊕0=0因此得到BCD码字符“6”的海明校验码为:位号H7H6H5H4H3H2H1
编码A4A3A2
P3A1
P2
P10110011海明校验码产生后,将信息位和校验位一起存入内存。83海明校验码的校验方法校验时,k个校验位进行k组偶校验,校验结果形成k位的“指误字”EkEk-1…E2E1。若某组校验结果正确,指误字相应位为0;若校验结果错误,指误字相应位为1。若校验结果
EkEk-1…E2E1=全0,则表示无错;
EkEk-1…E2E1≠全0,则表示有错,并且指误字代码所对应的十进制值就是出错位的位号。将该位取反,错误码即得到自动纠正。例:E1=P1⊕A1⊕A2⊕A4=01010101E2=P2⊕A1⊕A3⊕A4=00110011E3=P3⊕A2⊕A3⊕A4=0000111184指误字指示出错的前提是代码中只存在一个错。若有多个错,可能查不出来。所以只有在只存在一个错的前提下,海明码才能实现检1纠1错。例:BCD字符“6”的偶校验码为0110011,其指误字为E1=P1⊕A1⊕A2⊕A4E2=P2⊕A1⊕A3⊕A4E3=P3⊕A2⊕A3⊕A485若接收正确,即接收到的代码是0110011
,则E1=1⊕0⊕1⊕0=0E2=1⊕0⊕1⊕0=0E3=0⊕1⊕1⊕0=0若接收出错,即接收到的代码是0010011
,则E1=1⊕0⊕1⊕0=0E2=1⊕0⊕0⊕0=1E3=0⊕1⊕0⊕0=1得到的指误字为E3E2E1=110,表示第6位上的数码出错。将第6位上的数码A3取反,即可得到正确结果。862.6.3循环冗余校验码循环冗余校验码(CyclicRedundancyCheck)简称为CRC码。是一种具有很强检错纠错能力的校验码。CRC码广泛用于磁盘、磁带等辅助存储器的校验,在计算机网络和通信中亦被广泛采用。循环冗余校验码是通过除法运算来建立有效信息和校验位之间的约定关系。87CRC码的基本原理对于多项式M(x)和G(x)有如果对于一个M(x),事先按某一G(x)求得Q(x)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 骨化性肌炎的药物治疗与护理
- 骨科护理质量控制中的创新方法
- 实验室工程质量评估报告
- 约束使用风险评估量表
- 骨科护理质量控制与护理质量文化构建
- 2026年学生心理健康危机事件干预与应急预案
- 阑尾炎患者的心理护理
- 2026年团购用户分层与精细化运营
- 2026年直升机医疗救护(HEMS)服务标准
- 2026年黑水虻养殖与厨余垃圾处理
- 安宁疗护舒适照护课件
- 城区地下管网维护与运营管理方案
- 桡骨远端骨折护理课件
- 2025年学校食品安全事故应急演练实施方案(含演练脚本)
- 重症医学科护理质控体系
- 太仓用人单位劳动合同(2025版)
- 研发区域管理办法
- 译林版七年级下册英语Unit5 Animal Friends基础专项巩固训练(含答案)
- ktv禁烟管理制度
- 七夕情人节介绍公开课课件
- 马鞍山干熄焦工程施工组织设计
评论
0/150
提交评论