计算机中数据信息的表示和_第1页
计算机中数据信息的表示和_第2页
计算机中数据信息的表示和_第3页
计算机中数据信息的表示和_第4页
计算机中数据信息的表示和_第5页
已阅读5页,还剩118页未读 继续免费阅读

下载本文档

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

文档简介

计算机中数据信息的表示和第一页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊22.1数制与编码进位计数制及其相互转换机器数的表示十进制数的二进制编码非数值数据的表示数据信息的校验第二页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊3数据信息数值型数据非数值型数据定点数浮点数逻辑数字符与字符串汉字信息声音、图像、动画等十进制数串第三页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊42.1.1进位计数制及其相互转换1.进位计数制的两个因素——基值和位权值任何R进制数N均可表示为

:基值。表示系数可以取0,1,…,共个数字并且是逢进一的。

:位权值。表示在数列中的实际数值。按权展开多项式和公式第四页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊52.计算机中常用进位计数制二进制(R=2)数字:0,1进位方式:逢2进1,高位借1当2后缀:B

如10100011B或(10100011)2八进制(R=8)数字:0,1,2,3,4,5,6,7进位方式:逢8进1,高位借1当8后缀:O

或Q

如137.67Q或(137.67)8第五页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊6十进制(R=10)数字:0,1,2,3,4,5,6,7,8,9进位方式:逢10进1,高位借1当10后缀:D

或无如1359.26D或1359.26或(1359.26)10十六进制(R=16)数字:0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

进位方式:逢16进1,高位借1当16

后缀:H

如19BF.36EH或(19BF.36E)16第六页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊7数制转换时整数部分、小数部分分别进行转换。1.任意R进制数转换为十进制数方法:按权相加。例:将二进制数11011.101转换为十进制数。

(11011.101)2=24+23+21+20+2-1+2-3=16+8+2+1+0.5+0.125=(27.625)103.数制转换第七页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊8例:将八进制数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例:将十六进制数B3.B8转换为十进制数。

(B3.B8)16

=11×161+3×160+11×16-1+8×16-2

=176+3+0.6875+0.03125

=179.71875第八页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊92.十进制数转换为任意R进制数方法:整数部分和小数部分分别处理。整数部分:除基取余①把被转换的十进制整数除以基数R,取其余数即为R进制整数的最低位的数字。②再用基数R去除前次所得的商,所得余数即为R进制整数相应位的数字。③重复②,直到商为0为止。第九页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊10小数部分:乘基取整①把被转换的十进制小数乘以基数R,取乘积的整数部分作为R进制小数的最高位的数字。②再用基数R乘前一步乘积的小数部分,取新的乘积的整数部分为R进制小数相应位的数字。③重复②,直到乘积的小数部分为0或求得所要求的位数为止。例:将(116.842)10转换为二进制数(截断法,保留6位小数)第十页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊11

整数部分:余数

211605822902141270231211201低整数部分(116)10=(1110100)2第十一页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊12小数部分:乘积0.842×2.68410×2.36810×2.73600×2.47210×2.94400×2.88810高小数部分:(0.842)10=(0.110101)2(116.842)10=(1110100.110101)2第十二页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊13例:将(233.8125)10转换为十六进制数。整数部分

16233……9

1614……E

0

小数部分

0.8125

×16

4.8750

+8.125

D.0000(233.8125)10=(E9.D)16第十三页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊14二进制数与八进制数之间的转换方法:二进制数→八进制数

整数部分:从最低有效位开始,每三位二进制数对应一位八进制数,不足三位高位补“0”。小数部分:从最高有效位开始,每三位二进制数对应一位八进制数,不足三位,低位补“0”。八进制数→二进制数

将被转换的八进制数的每一位用三位二进制表示。3.二、八、十六进制数之间的转换第十四页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊15二进制与十六进制数间的转换方法:二进制数→十六进制数

整数部分:从最低有效位开始,每四位二进制数对应一位十六进制数,不足四位高位补“0”。小数部分:从最高有效位开始,每四位二进制数对应一位十六进制数,不足四位,低位补“0”。十六进制数→二进制数

将被转换的十六进制数的每一位用四位二进制表示。第十五页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊16例:将(1011100.10111)2转换为八进制和十六进制数。转为八进制数:1011100.10111

转为十六进制数:1011100.1011143001506.(1011100.10111)2=(134.56)8C05B0008(1011100.10111)2=(5C.B8)16.例:(76.12)8=()2例:(8E.4A)16=()2111110.00101010001110.01001010第十六页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊17例:将(36.25)8转换为十六进制数。①先转为二进制数:(36.25)8=(011110.010101)23625②再转为十六进制:(00011110.01010100)2=(1E.54)161E54

八进制与十六进制数间的转换方法:

八进制二进制十六进制第十七页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊18练习(1)(246.625)D=(11110110.101)B=(366.5)Q=(F6.A)H(2)(AB.D)H=(10101011.1101)B=(253.64)Q=(171.8125)D第十八页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊192.1.2机器数的表示一、机器数与真值真值:用±|A|表示的实际数值。机器数:计算机中的数据。(1)机器数的特点:符号和数值均二进制代码化。小数点隐含在某一固定位置上,不占存储空间。位数受机器字长的限制。超过机器字长的数值位要舍去。第十九页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊20(2)机器数可分为:无符号数:机器字长的所有二进制位均表示数值带符号数:第1个二进制位为符号位,其余为数值部分例:8位机器数为:11011011若为无符号整数,其真值为219若为带符号整数,且采用原码表示,则最高位为符号,11011011表示二进制整数-1011011,其真值为-91第二十页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊21二、原码表示1.原码的定义纯小数:设x=±0.x1x2…xn,则纯整数:设x=±x1x2…xn

,则[x]原=x1-x=1+|x|0≤x<1-1<x≤0[x]原=x,x0=02n-x=2n+|x|0≤x<2n-2n<x≤0[x]原=x0.x1x2…xn,共n+1位,[x]原=x0x1x2…xn,共n+1位,其中,x0为符号位。其中,x0为符号位。第二十一页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊22例:当x=+0.1101时,[x]原=_____,在机器中表示为_____

当x=-0.1101时,[x]原=_____

当x=+1110时,[x]原=_____

,在机器中表示为_____当x=-1110时,[x]原=_____

符号取反数值位不变0+,1-数值位不变0.1101011011.1101011101111001110结论:1)当x为‘+’时,x0=0

,当x为‘-’时,x0=1

。2)[x]原真值x3)[x]原

[-x]原原码的简便求法第二十二页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊232.原码中0的表示原码中“0”有两种表示纯小数:[+0]原=

[-0]原=纯整数:[+0]原=

[-0]原=0.00…01.00…000…010…0第二十三页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊243.原码的表示范围对于纯小数,n+1位原码的数据表示范围:-0.111…11~+0.111…11n位n位即-(1-2-n)~(1-2-n),分辨率为2-n,共可表示2n+1-1

个数对于纯整数,n+1位原码的数据表示范围:-111…11~+111…11n位n位即-(2n-1)~(2n-1),分辨率为1,共可表示2n+1-1

个数第二十四页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊254.原码的移位规则

符号位不变,数值部分左移或右移,移出的空位填0。[x]原左移1位,得到[2x]原;[x]原右移1位,得到[x]原。例:已知[x]原=0.0110000,则

[x]原=,[2x]原=例:已知[x]原=1110,则

[x]原=,[x]原=,[2x]原=原码左移时若将有效位移出(x1=1),则出错。出错0.00110000.1100000101110011100第二十五页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊265.原码的优缺点优点:

1)简单;

2)与真值的转换容易。缺点:

1)0有两种表示,给使用带来不便;

2)原码表示的加减运算复杂。第二十六页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊27三、补码表示1.补码概念的引入模:是指一个计量系统的量程。如时钟的模为12,记作mod12。在计算机中,超过字长的被丢失的量就是模。例如,一个m位的寄存器,若存放的是纯小数,则模为2,若存放的是纯整数,则模为2m。补数:[x]补=M+x(modM)

1)当x≥0时,[x]补=x。

2)当x<0时,[x]补=M+x=M-|x|。对于某一确定的模,减去一个数可用加上那个数的负数的补数来代替。第二十七页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊282.补码的定义纯小数:设x=±0.x1x2…xn,[x]补=x0.x1’x2’…xn’,共n+1位,其中x0为符号位。

纯整数:设x=±x1x2…xn,[x]补=x0x1’x2’…xn’,共n+1位,其中x0为符号位。

[x]补=x2+x0≤x<1-1≤x<0(mod2)[x]补=x,x0=02n+1+x0≤x<2n-2n≤x<0(mod2n+1)第二十八页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊29例:当x=+0.1011,[x]补=当x=-0.1011,[x]补=当x=+1011,[x]补=当x=-1011,[x]补=0.10112+x=10.0000-0.1011=1.01010101125+x=100000-1011=10101结论:当x为‘+’时,x0=0

,当x为‘-’时,x0=1

。第二十九页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊303.补码的简便求法:

(1)若x≥0,则[x]补=x,且置x0为0;

若x<0,则置x0为1,将x的数值位按位取反,末位加1,即得到[x]补。

(2)若x≥0,则[x]补=x,且置x0为0;

若x<0,则置x0为1,再从x的最低位向高位扫描,找到第一个1后,保持该1和比其低位的各位不变,其余数值位按位取反,即得到[x]补。取反加1法扫描法第三十页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊314.特殊数的补码表示真值0的补码表示

纯小数:

纯整数:-1和-2n的补码表示纯小数的-1:

[-1]补=1.00…0(mod2)

纯整数的-2n

[-2n]补=100…0(mod2n+1)[+0]补=[-0]补=0.00…0[+0]补=[-0]补=00…0第三十一页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊325.补码的范围对于n+1位补码,其表示范围为:纯小数:

纯整数:

-1~1-2-n,共2n+1个数,比原码多表示了-1。-2n~2n-1,共2n+1个数,比原码多表示了-2n。例:n=7时,纯整数的补码表示范围为:-128~+127第三十二页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊336.补码的几个关系1)补码与原码及真值的关系若x≥0,则[x]补=[x]原=x(x0=0)若x<0,[x]补

x[x]补

[x]原注意:补码中特殊数-1(纯小数)和-2n(纯整数)的表示,在原码中没有对应表示。符号‘1’不变数值位按位取反,末位+1‘1’-数值位按位取反,末位+1第三十三页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊34例:已知[x]原=0.0101,则[x]补=已知[x]补=1.0011,则[x]原=0.01011.1101第三十四页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊352)[x]补与[-x]补的关系[x]补称为机器正数,[-x]补称为机器负数。求[-x]补,也称为对[x]补的求补或变补。[-x]补=[x]补+1(末位)[x]补[-x]补例:已知[x]补=1.0011010,则[-x]补=已知[-x]补=01100101,则[x]补=

找低位的第一个1该1及其后的0不变,其他位(含符号位)取反0.110011010011011第三十五页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊367.补码的移位关系补码的右移

规则:

符号位不变,数值位右移,空位补与符号位相同的代码。[x]补右移1位,得到[x]补。补码的左移

规则:

符号位不变,数值位左移,空位补0。[x]补左移1位,得到[2x]补。第三十六页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊37例:已知[x]补=1.0011010,则[x]补=已知[x]补=1.1111010,则[2x]补=已知[x]补=10110010,则[2x]补=

已知[x]补=01000001,则[2x]补=1.1001101出错!对!1.111010011100100注意:若x0≠x1

,则补码左移时出错。出错!00000010第三十七页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊388.补码的几何性质

真值补码真值补码+000(+0)0000-001(-1)1111+001(+1)0001-010(-2)1110+010(+2)0010-011(-3)1101+011(+3)0011-100(-4)1100+100(+4)0100-101(-5)1011+101(+5)0101-110(-6)1010+110(+6)0110-111(-7)1001+111(+7)0111-1000(-8)1000表2-1n=3时所有整数的补码第三十八页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊3901234567-1-2-3-4-5-6-7-80000001001001000101011001110011000010011010110011011110111110111真值补码图2-1补码的几何性质第三十九页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊4010.补码的特点x为正时,x0=0

,x为负时,x0=1,且x0参与运算。补码表示中,“0”的表示是唯一的。补码比原码多表示了纯小数的-1和纯整数的-2n。补码运算中,减法可转为加法来做。第四十页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊41四、反码表示

反码实质上是补码的一个特例,区别在于反码的模比补码的模小一个最低位上的1。1.反码的定义纯小数:设x=±0.x1x2…xn,[x]反=x0.x1’x2’…xn’纯整数:设x=±x1x2…xn,[x]反=x0x1’x2’…xn’[x]反=x(2-2-n)+x0≤x<1-1<x≤0(mod(2-2-n))[x]反=x,x0=0(2n+1-1)+x0≤x<2n-2n<x≤0(mod(2n+1-1))第四十一页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊422.反码的简单求法:若x≥0,则[x]反=x,且置符号位x0为0。若x<0,则置x0为1,将x的数值位按位取反,即得到[x]反。例:(1)x=+0.1001100,则[x]反=

(2)x=-1001100,则[x]反=0.100110010110011结论:当x为‘+’时,x0=0

,当x为‘-’时,x0=1

。第四十二页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊433.反码中“0”的表示反码中“0”有两种表示:纯小数:

[+0]反=[-0]反=纯整数:

[+0]反=[-0]反=4.反码的范围反码的数据表示范围与原码相同。不能表示纯小数的-1和纯整数的-2n。0.00…01.11…100…011…1第四十三页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊445.反码与原码、补码及真值的关系若x≥0,则[x]原=[x]反=[x]补=x(x0=0)若x<0,[x]原

[x]反[x]补

符号不变数值位按位取反符号不变,末位加1符号不变,末位减1[x]反xx0=1‘-’数值位按位取反第四十四页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊45五、移码表示

移码表示把真值x在数轴上正向平移1(纯小数)或2n(纯整数),所以移码也称为增码、余码。1.移码的定义纯小数:设x=±0.x1x2…xn,[x]移=x0.x1’x2’…xn’[x]移=1+x-1≤x<1纯整数:设x=±x1x2…xn,[x]移=x0x1’x2’…xn’[x]移=2n+x-2n≤x<2n第四十五页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊46例:在字长为8位的机器中,则纯整数[x]移=(1)若x=+1100101,则[x]移==10000000+1100101

=11100101(2)若x=-1100101,则[x]移==10000000-1100101

=00011011注意:当x为‘+’时,x0=1

,当x为‘-’时,x0=0

。27+110010127-110010127+x,第四十六页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊472.移码中“0”的表示移码中“0”的表示是唯一的纯整数:[+0]移=[-0]移=10…03.移码的范围移码的表示范围与补码一致。

纯整数:-2n~2n-1,共可表示2n+1个数。4.移码与补码的关系

[x]移[x]补符号位取反数值位不变第四十七页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊48例:(1)x=+1001100,

,[x]移=(2)[x]移=01011001,

,x=0100110011001100[x]移

x[x]补移码与真值的转换11011001-0100111[x]补=[x]补=第四十八页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊495.移码的几何性质

表2-2n=3时纯整数的移码

真值移码真值移码+000(+0)1000-001(-1)0111

+001(+1)1001-010(-2)0110

+010(+2)1010-011(-3)0101

+011(+3)1011-100(-4)0100

+100(+4)1100-101(-5)0011

+101(+5)1101-110(-6)0010

+110(+6)1110-111(-7)0001

+111(+7)1111-1000(-8)0000第四十九页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊5001234567-1-2-3-4-5-6-7-80000001001001000101011001110011000010011010110011011110111110111真值移码图2-2移码的几何性质第五十页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊51(1)

最高位都表示符号位。___码、___码和___码的符号位均是0表示+,1表示-,___码相反。(2)___码、___码和___码的符号位可和数值位一起参加运算;___码的符号位必须分开进行处理。(3)对于正数,除___码外,其他码值都等于真值本身,而对于负数各有不同的表示。(4)

对于真值0,___码和___码各有两种不同的表示形式,而___码和___码只有唯一的一种表示形式。(5)___码、___码表示的范围是一样的;___码、___码表示的范围是一样的,且比前二者能多表示一个最负的数:-2n(纯整数)或-1(纯小数)。四种机器数的比较原反移原反补移补移原反补移原反补移第五十一页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊52原第五十二页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊53例:设某计算机的字长为8位,采用纯整数表示。求表中机器数在不同表示形式中对应的十进制真值。

表示方法机器数原码补码反码移码无符号数00101101110010011000000011111111+45+45+45-8345-73-55-54+73201-0-128-1270128-127-1-0+127255第五十三页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊54例:单项选择题已知[X1]原

=11001010,[X2]补

=11001010 [X3]反

=11001010,则X1、X2、X3的关系是:

A)X1

>X2

>X3B)X2

>X3

>X1

C)X3

>X1

>X2D)X3

>X2

>X1D第五十四页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊55例:设一个6位二进制小数X=0.a1a2a3a4a5a6,请回答下面问题。1)若X≥1/8,则a1a2a3a4a5a6要满足什么条件?解:a1、a2、a3中至少有1个为1。2)若X>1/2,则a1a2a3a4a5a6要满足什么条件?解:a1=1且a2~a6中至少有1个为1。3)若1/4≥X>1/16,则a1a2a3a4a5a6要满足什么条件?解:·a1a2a3a4=0001,a5a6中至少有1个为1;

·a1a2a3=001,其他位任意;

·a2=1,其他位为0。第五十五页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊562.1.3十进制数的二进制编码

计算机能处理十进制数,而十进制数在计算机内是采用二进制数码编码的。用二进制数码表示十进制数称为二进制编码的十进制数(Binary-CodedDecimal),简称BCD码。一位十进制数需要4位二进制数进行编码。第五十六页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊578421码特点:①有权编码,十进制数D=8b3+4b2+2b1+1b0。②8421码与所对应的十进制数之间符合二进制和十进制数相互转换的规则,简单直观。③编码中不许出现1010~1111。例:(258.27)10=(001001011000.00100111)8421(10010101.01110010)8421=(95.72)10第五十七页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊582.1.4非数值型数据的表示非数值型数据:逻辑数、字符、字符串、文字、图像、视频、声音等。非数值型数据在计算机中仍以0、1表示,但这些二进制代码并不表示数值,所以称为非数值型数据或符号数据。第五十八页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊59一、逻辑数——二进制串

在计算机中一个逻辑数是用一个二进制串来表示的。逻辑数具有下面几个特点:逻辑数中的“0”与“1”不代表值的大小,仅代表一个命题的真与假、是与非等逻辑关系。逻辑数没有符号的问题。逻辑数中各位之间是相互独立的,没有位权问题。逻辑数只能参加逻辑运算,并且是按位进行的,没有进位问题。例:1011+1100=1111第五十九页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊60二、字符与字符串1.字符编码目前广泛使用的是由美国国家标准委员会制定的ASCII码(AmericanNationalStandardsCodeforInformationInterchange)。ASCII码是用7位二进制表示一个字符:b6b5b4b3b2blb0,共128个字符。10个数字——0~952个英文大、小写字母——A~Z,a~z34个常用符号——%、#等32个控制字符——NUL、LF、CR等第六十页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊61ASCII字符编码表

0000010100111001011101110000NULDELSP0@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_oDELb6b5b4b3b2b1b0第六十一页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊62在计算机中,通常用一个字节表示一个字符:b7b6b5b4b3b2blb0

。其中b7的作用:①用作奇偶校验位,用来检测错误。②在我国用于区分汉字和字符。如规定字节的最高位为“0”表示ASCII码,为“1”表示汉字编码。除了ASCII码,常用的字符编码还有IBM公司常用的EBCDIC码。它采用8位二进制数表示一个字符,共可表示256个字符。第六十二页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊632.字符串数据字符串:连续的一串字符。通常一个字符串在主存中是连续存放的。当主存按字节编址时,字符串在主存中既可以从低位字节向高位字节的顺序存放,也可从高位字节向低位字节的顺序存放。当主存按字(由多个字节组成)编址时,在同一个主存字中,字符串既可以从低位字节向高位字节的顺序存放,也可按从高位字节向低位字节的顺序存放。第六十三页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊64EA+9HHA+8HTA+7HA+6HBA+5H>A+4HAA+3HA+2HFA+1HIA+0H)A+13HKA+12H(A+11HA+10HDA+FHAA+EHEA+DHRA+CH

A+BHNA+AHNA+9H

A+8HRA+7HEA+6HAA+5HDA+4H

A+3H(A+2HKA+1H)A+0HIA+13HFA+12H

A+11HAA+10H>A+FHBA+EH

A+DHTA+CHHA+BHEA+AH按字节编址(a)(b)例:字符串:IF

A>B

THEN

READ

(K)第六十四页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊65

AA+0HFI

TA+4HB>N

A+8HEHADA+CHERK)A+10H(

1023FIA+0HAB>A+4HTEHA+8HN

ERA+CHAD(

A+10Hk)1023(a)(b)按字编址(一个字为四个字节)

字符串:IF

A>B

THEN

READ

(K)第六十五页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊66三、汉字信息的表示汉字输入码汉字机内码汉字交换码汉字字形码存储、处理键盘输入交换汉字信息显示、打印汉字处理过程:1.汉字输入码汉字输入码:汉字输入操作者使用的汉字编码。分为拼音码(全拼、智能ABC)、笔形码(五笔字型、郑码)、混合码(音形码)、数字码(区位码、电报码)等编码方式。第六十六页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊672.汉字交换码汉字交换码:用于不同汉字系统间交换汉字信息,具有统一的标准。1980年国家标准总局公布了《信息交换用汉字编码字符集》,即GB2312—80,简称国标码。该标准共收集7445个汉字和图形符号。国标码规定每个汉字、图形符号都用两个字节表示,每个字节只使用最低七位。两个字节的最高位均为0。1995年公布了GBK1.0,扩展到2.1万多个汉字。2000年公布了正式标准GB18030,扩展到2.7万多个汉字。第六十七页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊683.汉字机内码汉字机内码:用于汉字信息的存储、处理等操作的机内代码,一般采用两个字节表示。机内码=国标码+8080H例:在国标码中,3C46H表示汉字“计”,会与二进制编码3CH和46H两个字节分别表示ASCII码字符的“<”和“F”相混淆。将两个字节的最高位置“1”后得到的机内码BCC6H来表示汉字“计”。第六十八页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊694.汉字字形码汉字字形码:用于记录汉字的外形,主要用于汉字的显示和打印。有两种记录方法:点阵法和矢量法,分别对应点阵码和矢量码。(1)点阵码

用点阵来表示汉字。如16×16点阵(多用于显示)、24×24点阵、32×32点阵,48×48点阵、64×64点阵、128×128点阵等(多用于打印)。第六十九页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊70例:16×16的汉字字形点阵,每个汉字要占用32个字节。第七十页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊71(2)矢量码用一组数学矢量来记录汉字的外形轮廓。矢量码记录的字体称为矢量字体或轮廓字体。现在在Windows里普遍使用轮廓字体(称为TrueType字体),如宋体、TimesNewRoman,Arial等。字形码的存储由于汉字字形码所占存储空间很大,因此通常以汉字库的形式存储在硬盘上。当显示输出或打印输出时,根据某种定位算法将汉字机内码转为相应的汉字字库地址,检索字库,输出字形码。第七十一页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊72例:用户要将“计”输入计算机用于打印或传输。(输入法采用智能ABC)汉字输入码汉字机内码汉字交换码汉字字形码BCC6H用户输入“ji”传输打印3C46H输入法软件根据定位算法得到汉字库的地址,检索汉字库第七十二页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊732.1.5数据校验码数据校验码:具有检测某些错误或带有自动纠正错误能力的数据编码方式。常用的数据校验码:奇偶校验码海明校验码循环冗余校验码(CRC码)第七十三页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊74一、奇偶校验码1.基本原理在n位的有效信息位AnAn-1…A1上,加1位校验位P,构成n+1位的奇偶校验码AnAn-1…A1P或PAnAn-1…A1。若P使n+1位的校验码中“1”的个数为偶数,则称为偶校验,校验位P又记作Peven

。2.编码方法(发送方)Peven

=An⊕An-1⊕……⊕A2⊕A1Podd

=Peven

(奇数)(奇校验)(Podd)第七十四页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊75例:求7位信息码1100111的奇校验码和偶校验码(设校验位在最低位)。解:(1)偶校验码

Peven=1⊕1⊕0⊕0⊕1⊕1⊕1=1∴偶校验码为11001111。

(2)奇校验码

Podd=1⊕1⊕0⊕0⊕1⊕1⊕1=0∴奇校验码为11001110。第七十五页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊76奇偶校验位的形成电路(7位)=1=1=1=1=1=1A7A6A5A4A3A2A11PevenPodd第七十六页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊773.校验方法(接收方)若接收到的奇校验码中“1”的个数为偶数,或接收到的偶校验码中“1”的个数为奇数,则表示有一位出错。设接收方接收到的校验码为An’An-1’…A1’Peven’或An’An-1’…A1’Podd’

,则:Eeven=An’⊕An-1’⊕…⊕A1’

⊕Peven

’Eodd=An’⊕An-1’⊕…⊕A1’

⊕Podd

其中,E=0,表示无错;E=1,表示校验出错第七十七页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊78例:仍以前面的七位有效信息的奇偶校验码为例,若发送方发送的奇校验码为11001110,经网络传送后,若接收方收到的奇校验码为:11011110Eodd=1⊕1⊕0⊕1⊕1⊕1⊕1⊕0=1,认为有错。10101111Eodd=1,认为有错。11100110Eodd=0,认为无错!第七十八页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊794.奇偶校验码的校错能力只能发现奇数位个错误,而无法发现偶数位个错误,并且无法自动纠正错误。在CPU与主存的信息传送过程中,奇偶校验被广泛应用。第七十九页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊80二、海明校验码1.基本原理在奇偶校验的基础上,设置多个校验位,构成多组奇偶校验,使每一个信息位被两个或两个以上校验位校验,从而不仅可以发现错误,而且还能确定出错位置,进而能自动纠正错误。2.校验位位数的选择设有效信息位的位数为n,校验位的位数为k,则检1纠1错的海明校验码应满足下面关系:

2k≥n+k+1

第八十页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊81k(最小)n2132~445~11512~26627~57758~120表2-15海明校验码中有效信息位的位数与校验位位数的关系第八十一页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊823.海明校验码的编码步骤(1)n位有效信息选择k个校验位,构成n+k位的海明校验码。若校验码位号从左向右(或从右向左)按从1到n+k排列,则校验位的位号分别为2i(i=0,1,2…k-1),校验位记作P2i,有效信息位按原顺序安排在其余位置上。(2)k个校验位构成k组奇偶校验,每个有效信息位都被两个或两个以上的校验位校验,规则:被校验的有效信息位的位号等于校验它的校验位位号之和。(3)统计参与各组奇偶校验的位号,按奇偶校验原理,由已知的有效信息位求出各校验位,进而形成海明校验码。第八十二页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊83例:字符‘K’的ASCII码为1001011,试为其编制一个检1纠1错的海明校验码(假设采用偶校验)。解:A7A6A5A4A3A2A1=1001011P1even=A7⊕A6⊕A4⊕A3⊕A1=1⊕0⊕1⊕0⊕1=1P2even=A7⊕A5⊕A4⊕A2⊕A1=1⊕0⊕1⊕1⊕1=0P4even=A6⊕A5⊕A4=0⊕0⊕1=1P8even=A3⊕A2⊕A1=0⊕1⊕1=0因此得到ASCII码字符‘K’的海明校验码为:10110010011第八十三页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊84例:试为字节信息10110011编制一个检1纠1错的海明码(假设采用偶校验)。解:n为8,则选择k为4。共四组偶校验(P1、P2、P4、P8)。位号:1

23456789101112海明码:P1P21P4011P80011P1P2P1P4P2P4P1P2P4P1P8P2P8P4P8P1P2P8P1:1、0、1、0、1P2:1、1、1、0、1P4:0、1、1、1P8:0、0、1、1P1even=1P2even=0P4even=1P8even=0∴海明码为:101101100011第八十四页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊854.海明校验码的校验方法对K组奇偶校验码分别进行校验,校验结果形成K位的“指误字”EkEk-1…E2E1。若EkEk-1…E2E1

=全0,则表示无错;若EkEk-1…E2E1≠全0,则表示有错,并且指误字代码所对应的十进制值就是出错位的位号。将该位取反,错误码即得到自动纠正。第八十五页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊86例:上例中字符‘K’的海明校验码为10110010011(采用偶校验),若接收方接收到的海明码为:10110010011E1even=P1⊕A7⊕A6⊕A4⊕A3⊕A1=1⊕1⊕0⊕1⊕0⊕1=0E2even=P2⊕A7⊕A5⊕A4⊕A2⊕A1=0⊕1⊕0⊕1⊕1⊕1=0E3even=P4⊕A6⊕A5⊕A4=1⊕0⊕0⊕1=0E4even=P8⊕A3⊕A2⊕A1=0⊕0⊕1⊕1=0∴指误字E4E3E2E1

=0000,无错!第八十六页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊8710111010011E1even=P1⊕A7⊕A6⊕A4⊕A3⊕A1=1⊕1⊕1⊕1⊕0⊕1=1E2even=P2⊕A7⊕A5⊕A4⊕A2⊕A1=0⊕1⊕0⊕1⊕1⊕1=0E3even=P4⊕A6⊕A5⊕A4=1⊕1⊕0⊕1=1E4even=P8⊕A3⊕A2⊕A1=0⊕0⊕1⊕1=0∴指误字E4E3E2E1

=0101B=5,认为位号为5的那位出错,并将其自动取反,得到10110010011。可见能正确纠错!第八十七页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊8810111110011E1even=P1⊕A7⊕A6⊕A4⊕A3⊕A1=1⊕1⊕1⊕1⊕0⊕1=1E2even=P2⊕A7⊕A5⊕A4⊕A2⊕A1=0⊕1⊕1⊕1⊕1⊕1=1E3even=P4⊕A6⊕A5⊕A4=1⊕1⊕1⊕1=0E4even=P8⊕A3⊕A2⊕A1=0⊕0⊕1⊕1=0∴指误字E4E3E2E1=0011B=3,认为位号为3的那位出错,并将其自动取反,得到10011110011。可见越纠越错!5.纠错能力仅在只有一个错误时,才能检1纠1错,否则越纠越错。第八十八页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊89四、循环冗余校验码(CRC码)CRC码广泛用于磁盘、磁带等辅助存储器的校验,在计算机网络和通信中亦被广泛采用。1.模2运算——不考虑进位和借位的二进制运算模2加减:用异或规则实现按位加减。

0±0=00±1=1±0=11±1=0例:1101+10010110-10010011+1011010011111000第八十九页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊90例:1100×0101110000001100000001111001001×110110010000100110011100101

模2乘:按模2加的规则求部分积之和,不进位。第九十页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊91模2除:按模2减求部分余数,不借位。上商规则:若部分余数(首次为被除数)的最高位为1,则上商为1,否则上商为0。每求一位商后,使部分余数减少一位,即去掉部分余数的最高位,再继续求下一位商。停止条件:当部分余数的位数小于除数位数时,该余数就是最后的余数。第九十一页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊92例:模2除10010011010110100011001000000110011101001101110100111余数商1000011011011110101010110111010111110111010010100000001010余数商111010111第九十二页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊932.CRC码的基本原理

将有效信息表示为M(x),再选择一个生成多项式G(x),则有(模2除)发送方:把M(x)+R(x)作为编好的CRC校验码传送。接收方:当收到校验码后仍用原约定的多项式G(x)去除,若能整除,则表示该校验码正确;否则表明有错,并可根据余数值确定出错位号,进行自动纠正。第九十三页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊943.CRC码的编码方法(1)对n位的有效信息M(x),选择k+1位的生成多项式G(x)。(2)将M(x)左移k位,然后按模2除法除以G(x),得到k位的余数R(x)。(3)将R(x)拼接在M(x)后面,形成n+k位的CRC码。例:设G(x)=x3+x+1=1011,求信息1001的CRC码。第九十四页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊95解:∵G(x)=1011∴k=3∴R(x)=110∴1001的CRC码为1001110。由n位有效信息和k位校验信息构成的n+k位CRC码又称为(n+k,n)码。因此上例中的CRC码又称为(7,4)码。第九十五页,共一百二十三页,编辑于2023年,星期二06六月2023南理工紫金学院郑磊964.CRC码的校验方法把接收到的CRC码H(x)用原约定的生成多项式G(x)作模2除,若余数为0,表示无错;否则,表示有一位出错

温馨提示

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

评论

0/150

提交评论