第二章-计算机信息表示与存储-2016_第1页
第二章-计算机信息表示与存储-2016_第2页
第二章-计算机信息表示与存储-2016_第3页
第二章-计算机信息表示与存储-2016_第4页
第二章-计算机信息表示与存储-2016_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

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

文档简介

第二章计算机信息表示与存储田磊tianlbupt@2/49内容2.1位置计数制2.2数值编码2.3字符编码2.4模拟信号编码的一般过程2.5数据压缩3/49信息的概念用文字、数字、符号、声音、图形和图像等方式表示和传递的数据、知识和消息。在计算机中,都是用二进制来处理和存数据的所有的数值都要用二进制数表示所有的字符也要用二进制数表示……按照一定的规则,用二进制代码表示具体数据称为编码。4/492.1位置计数制位置计数制是一种数的表示方法:同样的数字出现在数的不同位置,代表的值不同十进制、二进制、八进制以及十六进制十进制表示方法一个十进制数的特点:它有十个不同的数字符号,即:0、1、2、3、4、5、6、7、8、9。它是逢“十”进位的。

999.99

百位十位个位十分位百分位第0位第1位第2位第-1位第-2位

第n位对应的权值为10n5/492.1位置计数制例2-1327.71:327.71位权值:10210110010-110-2实际表示的数值为:327.71=3X102+2X101+7X100+7X10-1+1X10-210称为计数制的基数或底数,所以为十进制6/492.1位置计数制二进制数一个二进制数的特点:它只有二个数字符号,即:0、1。它是逢“二”进位的。

101.11

第0位第1位第2位第-1位第-2位第n位对应的权值为2n,计数制的基数为2实际表示的数值十进制大小为:101.11=1X22+0X21+1X20+1X2-1+1X2-27/492.1位置计数制八进制数一个八进制数的特点:它只有八个数字符号,即:0、1、2、3、4、5、6、7。它是逢“八”进位的。

175.14

第0位第1位第2位第-1位第-2位第n位对应的权值为8n,计数制的基数为8实际表示的数值十进制大小为:175.14=1X82+7X81+5X80+1X8-1+4X8-28/492.1位置计数制十六进制数一个十六进制数的特点:它有16个数字符号,即:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。它是逢“16”进位的。43D.8A

第0位第1位第2位第-1位第-2位第n位对应的权值为16n,计数制的基数为16实际表示的数值十进制大小为:43D.8A=4X162+3X161+13X160+8X16-1+10X16-29/492.1位置计数制总结4种进制的特点有效数字逢J进位10/492.1位置计数制不同进制的习惯书写形式:二进制:BinaryBinB八进制:OctalOctO十进制:DecimalDecD十六进制:HexHexH例如:(101011)2(101011)B(1234673)8(1234673)O(1973)10(1973)D(A46F)16(A46F)HA46FH

0xA46F11/492.1位置计数制不同进制的转换BINOctDecHex三大类转换方法:1.其它进制转为十进制的方法2.二进制、八进制、十六进制之间的转换方法3.十进制转换为其它进制的方法12/492.1位置计数制1.其他进制转为十进制的方法设J进制的数,n位整数,m位小数:(xn-1xn-2…x1x0.x-1x-2…x-m)J=xn-1×Jn-1+xn-2×Jn-2+…+x1×J1+x0×J0+x-1×J-1+x-2×J-2+…+x-m×J-m例:(101.11)B=1×22+0×21+1×20+1×2-1+1×2-2=4+0+1+0.5+0.25

=(5.75)D13/492.1位置计数制练习:其他进制转为十进制

(111.11)B(175.14)O(AC.6)H

14/492.1位置计数制2.十进制转换为其它(J)进制的方法:整数和小数部分整数部分的转换方法:方法:除J取余,商再除J,逆序读数被除数÷除数J=商•

•余数例:将十进制数28转换为二进制数。即:(28)D=(11100)B28÷2=14•

•014÷2=7•

•01÷2=0•

•13÷2=1•

•17÷2=3•

•1228•

•0214•

•027•

•123•

•121•

•1015/492.1位置计数制2.十进制转换为其他(J)进制的方法小数部分的转换方法:

方法:乘J取整,小数再乘,顺序读数例:将十进制数0.78转换为二进制数。即:(0.78)D≈(0.1100)B0.7821.5621.1220.2420.48××××110016/492.1位置计数制3.二进制、八进制、十六进制之间的转换方法二进制转换为八进制:从小数点开始,向左、向右每3位二进制数分成一组(不足3位补0)然后按对应位置写出每组二进制数等值的八进制数及对应的小数点例:(1011010111.1011)2001011010111.1011001327.54=(1327.54)817/492.1位置计数制3.二数制、八进制、十六进制之间的转换方法八进制转换为二进制:每1位八进制数转换为3位二进制数即可例:(1327.54)81327.54001011010111.101100

=(1011010111.1011)218/492.1位置计数制3.二数制、八进制、十六进制之间的转换方法二进制转换为十六进制:从小数点开始,向左、向右每4位二进制数分成一组(不足4位补0)然后按对应位置写出每组二进制数等值的十六进制数及对应的小数点例:(1011010111.1011)2001011010111.10113137.11=(3D7.B)1619/492.1位置计数制3.二数制、八进制、十六进制之间的转换方法十六进制转换为二进制:每1位十六进制数转换为4位二进制数即可例:(1A2F.5C)161A2F.5C0001101000101111.01011100

=(1101000101111.010111)220/492.1位置计数制小结:重点掌握二进制与十进制、八进制、十六进制的转换方法其他转换方法可考虑捷径BINOctDecHex21/492.1位置计数制课堂练习:1.将0.1B,0.1D,0.1H,从大到小排列顺序为:A)0.1B>0.1D>0.1HB)0.1H>0.1D>0.BC)0.1D>0.1B>0.1HD)0.1H>0.1B>0.1D2.将二进制数110101.011转换为十进制数为A)53.3B)53.6C)26.3D)26.622/492.1位置计数制基本的二进制运算算数运算:+-×÷逻辑运算:&(与)|(或)!(非)⊕(异或^)aba&ba|b!aa⊕b000010010111100101111100+11.011000.11

101.1023/492.2数值编码计算机处理的数值有:带符号的整数定点数:表示纯小数或整数,小数点位置固定浮点数:表示实数,小数点位置浮动变化计算机中常用的数据单位:位bit表示一位二进制数,取值只有0或1字节Byte即8位二进制数,最基本的容量单位千字节KByte1KB=1024(210)Byte

兆字节MByte1MB=1024(210)KB

吉字节GByte1GB=1024(210)MB字长Word计算机能同时处理的二进制位数。32位机/64位机24/492.2数值编码带符号数的表示方式前面介绍的二进制数都没有考虑符号——无符号数带符号数也需要对符号位进行编码——机器数正号编码为0;负号编码为1机器数的三种编码方式:原码反码补码——计算机中采用的方式正数的原码、反码、补码都相同

25/492.2数值编码原码:规定最高位为0表示正数,1表示负数,其余各位为其数值,这种数的表示法称为原码。+76:01001100-76:11001100原码的问题异号数相加:不能直接做加法,要用减法完成(-3)+2=10000011+00000010=???同号数相减3-2=00000011–00000010=0000000126/492.2数值编码反码正数的反码与其原码相同,最高位为0表示正数,其余位为数值位。负数的反码是其符号位取1,对应数值部分的绝对值的原码按位取反求得。例如(+5)反=00000101;(-5)反=11111010(+0)反=00000000;(-0)反=11111111(+127)反=01111111;(-127)反=10000000

若(x)反=11001001,则x=-(00110110)2=-54反码的加法规则 (1)将两个数变为反码,直接相加; (2)若最高位有进位,则将其加到最低位。例如,用反码计算-75+85:

(-75)10=(11001011)原

=(10110100)反

(85)10=(01010101)反

(10110100)反+(01010101)反

=(00001010)反

=(10)1028/492.2数值编码补码正数的补码与其原码相同。负数的补码是在其反码的最低位上加1得到。例如(+5)补=00000101(-5)补=11111011(+0)补=(-0)补=00000000(+127)补=01111111(-127)补=10000001

(-128)补=10000000(约定)29/492.2数值编码补码运算引入补码的主要目的在于简化减法运算,可以把减法运算用补码加法来实现。计算机中就只有加法计算。补码运算定律:(x+y)补=(x)补+(y)补补码的加法规则 (1)将两个数变为补码,直接相加; (2)若得到的和没有溢出,就是两数相加和的补码。下面根据x和y的符号和绝对值的大小,可分四种情况举例验证:正数+正数负数+负数正数+负数,正数>负数的绝对值正数+负数,正数<负数的绝对值3.2数值编码判断是否溢出的方法:若两个正数补码和的符号位为1,或者两个负数补码和的符号位为0,都表明溢出。用补码加法计算:-61+(-33)。

-61=(10111101)原

=(11000011)补

-33=(10100001)原

=(11011111)补(11000011)补+(11011111)补

=(10100010)补

=(11011110)原

-9431/493.2数值编码两个负数相加x=-3DH=-0111101y=-21H=-0100001(x)补

=1

1000011 (y)补

=1

1011111(x)补

+(y)补

=10100010,注:二进制按位相加计算,在相加过程中超出8位的位自然丢弃,只保留8位。计算结果最高位为1表示负数。(x+y)补=(-1011110)补=10100010=(x)补+(y)补32/493.2数值编码正数x和负数y相加,且|x|>|y|x=3DH=+0111101y=-21H=

-0100001(x)补=00111101 (y)补=11011111(x)补+(y)补=00011100,

二进制按位相加计算,在相加过程中超出8位的位自然丢弃,只保留8位。计算结果最高位为0表示正数。(x+y)补=(1CH)补=00011100=(x)补+(y)补33/492.2数值编码正数x和负数y相加,且|x|<|y|x=21H=+0100001y=-3DH=-0111101(x)补

=00100001(y)补=11000011(x)补+(y)补=11100100,二进制按位相加计算。计算结果,最高位为1表示负数。(x+y)补=(-1CH)补=(-0011100)补

=11100100=(x)补+(y)补34/492.2数值编码用补码加法计算:65+70。

65=(01000001)补

70=(01000110)补需要注意的是,补码是有一定范围的。对于8位补码来说,其范围是-128~+127。当运算结果超出该范围时,答案就不正确了,称为溢出。例如

64+67=131=10000111,而补码为10000111的数,其值为–01111001=-121,显然出错了。因为131>127了,称为正向溢出。如果两个负数之和小于-128,就会产生负向溢出。防止溢出的办法是用更多的位,如16位、32位来表示数值范围。思考:32bit补码表示的数的范围是多少?溢出-231~231-135/492.2数值编码定点数表示方法只能表示纯小数或整数,小数点位置固定小数点位置只允许固定在数的开头或末尾定点小数表示:定点整数表示:36/492.2数值编码浮点数表示方法在计算机中采用以2为底的科学计数法二进制数110101.101=1.10101101×2101

则:S=0,M=1.10101101,e=101(十进制5)二进制数-0.000101=-1.01×2-100

则:S=1,M=1.01,e=-100(十进制-4)N=

M×2eS:尾符M:尾数,e:阶码37/493.2数值编码浮点数存储S,M,e三者都存储,则相当于将该数存储.实数编码标准:IEEE754标准浮点数(单精度),用32bit存储

(规格化)双精度数,用64bit存储Se’(8bit)M’(23bit)Se’(11bit)M’(52bit)M’为M的小数部分e’=e+27-1e’=e+210-1编码方式是阶码值加上127所对应的二进制数IEEE754规定:32位浮点数阶码的范围是-127~+127那么,32位float类型的浮点数可以表示的实数的范围是什么呢?解:(1)尾数绝对值的最大值是(1.11111111111111111111)2,对应的十进制数接近2。(2)32位浮点数的阶码范围是-127~127,对应的二进制数的范围是2-127~2127。可以表示的最大正数略小于2×2127=3.4028×1038可以表示的最小负数略大于-2×2127=-3.4028×1038而32位整数(补码数)表示的二进制范围仅为-231~231-1,对应十进制表示范围为-4.3×109~4.3×10939/492.2数值编码思考1:0100001111100…0+1.11B

×210000111B-1111111B=+1.75D

×28=+1.75D

×256=+4480111100011100…0-1.11×201111000B-1111111B=-1.75×2-7=-1.75×0.0078125=-0.0136718752.2数值编码思考2:能否准确的表示出浮点数(1.1)D?(1.1)D=1.0001100110011001100110011…≈1.00011001100110011001101B=(1.1000000238418579)DS=0,e’=01111111,M=000110011..1101对于大多数实数来说,浮点数是一种近似的表示

十进制数的编码BCD码(BinaryCodedDecimal)使用4位二进制数表示一位十进制数,也称为8421码

(0~9)(16种状态取前10种)十进制数二进制数

0000010001200103001140100 50101 60110 70111 81000 91001例:将十进制数935.4转换成BCD码?转换结果为(100100110101.0100)BCD将每一位数字表示为相应的BCD码。BCD码可以直接进行加、减、乘、除运算,但有其特殊的运算规则。练习1.原、反、补码的表示2.float类型的浮点数(-13.75)10在计算机中如何存储(IEEE754标准)?(27)10(-35)108位原码8位反码8位补码练习1.原、反、补码的表示2.float类型的浮点数(-0.421875)10在计算机中如何存储(IEEE754标准)(27)10(-35)108位原码00011011101000118位反码00011011110111008位补码0001101111011101(-0.421875)10=(-0.011011)

2=-1.1011×2-2101111101101100000000000000000002.3字符编码计算机中处理的信息中除了数值还有各种字符和符号。由于内容的不同,编码的规则和编码的长度也不相同。常见的字符编码类别有:ASCII码字符汉字UnicodeUTF-8……2.3字符编码ASCII字符包含127个常用的字符和符号:大小写英文字母数字专用符号:+-*!@#$%^&*()...非打印字符:BEL(响铃),LF(换行),CR(回车)…8个bit来表示,最高位bit值为0;实际使用时,常用两个16进制数表示一个ASCII码。0d6d5d4d3d2d1d0范围:0x00~0x7F例:00000111(7):BELL01000001(65):A书P61表3-52.3字符编码汉字编码GB2312标准GBK码GB18030-2000标准Big5(繁体)GB2312每个汉字占2个字节,每个字节均用7位编码表示,每个字节的最高位为0。习惯上称第一个字节为高字节,第二个字节为低字节。常用字库收录7445个字符(6763个汉字和682个其它字符),字库分为一级字库和二级字库。一级字库为3755个汉字,二级字库3008个。如果把高字节编码作为“行编码”,低字节作为“列编码”,双字节编码是一个256×256的矩阵。GB2312标准只使用了这个矩阵的一部分。每个字节的有效范围是从(21)16~(7E)16,也就是有效编码范围是94×94的矩阵。2.3字符编码GB2312编码(国标码)2.3字符编码国标码:(2121)16~(7E7E)16区位码:(0101)10~(9494)10机内码:将国标码的高字节和低字节(第一个字节称为高字节,第二个字节称为低字节)的最高位全部置一,机内码的表示范围是(A1A1)16~(FEFE)16GBK码、GB18030-2000标准GBK编码是在GB2312-80标准基础上的内码扩展规范,仍然使用双字节编码方案。共收录21003个汉字,完全兼容GB2312-80标准,还支持繁体汉字的编码。GB18030标准是GBK标准的超集,并与GBK兼容。而且GB18030是国家标准,GB18030收录了27484个汉字。GBK码GBK总体编码范围为8140-FEFE,首字节在81-FE之间,尾字节在40-FE之间,剔除xx7F一条线。总计23940个码位,共收入21886个汉字和图形符号,其中汉字

(包括部首和构件)21003个,图形符号883个。主要有

1.汉字区。包括:a.GB2312汉字6763个,按原顺序排列;b.GB13000.1扩充汉字区,编码范围8140-A0FE;c.GBK/4:AA40-FEA0。收录CJK汉字和增补的汉字8160个。2.图形符号区。包括:a.GB2312非汉字符号区。即GBK/1:A1A1-A9FE。b.GB13000.1扩充非汉字区。即GBK/5:A840-A9A0。BIG-5非汉字符号等166个。3.用户自定义区:分为(1)AAA1-AFFE,码位564个。(2)F8A1-FEFE,码位658个。(3)A140-A7A0,码位672个。2.3字符编码Big5(繁体,香港和台湾地区使用)0x810xFE0x000xFF0x000xFF0x7E0xFE0xA10x402.3字符编码UNICODE世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,不但要知道它的编码方式,还要安装有对应编码表,否则就可能无法读取或出现乱码。Unicode编码将世界上所有的符号都纳入其中,无论是英文、日文、还是中文等,每个符号对应一个唯一的编码。Unicode是采用2字节16位编码体系。1996年发布V2.0,符号6811,汉字20902,韩文拼音11172,造字区6400,保留20249,共计65534个。2.3字符编码汉字的处理过程输入码机器内码字形码汉字输入码:也称外码五笔输入法、拼音输入法、智能ABC、搜狗输入法…机器内码字形码:用数字来表示汉字的形状(矩阵)。常用的字库:点阵字库/矢量字库2.3字符编码使用的点阵(有16×16点阵、24×24点阵、32×32点阵、64×64点阵、96×96点阵、128×128点阵、256×256点阵)点阵越大,则汉字字形的质量也越好;当然,每个汉字点阵的存储量也越大。左图为16X16点阵图像行列各16个点每个或表示一个点表示该点没有像素,用0表示表示该点有像素,用1表示则该字共有多少bit?合多少Byte?256bit=32Byte2.4模拟信号编码的一般过程模拟信号是指用连续变化的物理量表示的信息,其信号的幅度、或频率、或相位随时间作连续变化,如语言、图像、视频等。模拟信号的数字化过程:模拟信号离散化----------------------------------采样离散值的标称化---------------------------------量化对有限的标称值进行二进制编码------------编码x(t)xS(nTS)xq(nTS)x(n)采样量化编码计算机tx(t)txS(nTS)txq(nTS)x(n)n001011100010010011q2q3q4qTS2TS3TS…TS2TS3TS…信号转换过程:2.4模拟信号编码的一般过程2.5数据压缩为何要进行数据压缩存储文件需要消耗很大的空间,增加了硬件成本传输这些文件也需要较大的带宽为何可以压缩数据信息本身存在冗余信息的编码方式存在冗余数据压缩的本质就是对数据进行再次编码的过程。数据压缩的目标是在保持信息基本不变的前提下,减小信息的存储空间。衡量压缩编码效果的主要指标——压缩比压缩编码的分类无损压缩编码(Losslesscompressioncoding)压缩时不丢失任何信息量,解压缩后可以完全地恢复原来的信息。也称为可逆压缩。对于可执行程序的压缩方法必须是无损压缩。对于重要的数据文件、文本文件的压缩,也必须使用无损压缩。WinRAR、WinZip采用的就是无损压缩算法。无损压缩一般的压缩比在2:1到5:1,压缩率较小。有损压缩编码(Losscompressioncoding)压缩时多少会丢失一些信息量。解压缩后的内容和原始的内容会有一定差别,但仍然是完全可以接受的,不会影响数据的正常使用。有损压缩也称不可逆压缩。有损压缩主要用于音频、图像、视频文件的压缩。压缩比比较大,一般可以达到压缩比等于10,或者更大。压缩编码算法——行程长度编码行程长度编码(RunLengthEncoding)也称为游程长度编码行程(Run)是指数据中重复连续出现的字符。该编码算法就是要发现这些重复连续出现的字符,统计重复出现的次数,并把这些重复出现的字符,用“出现次数+字符”来进行编码如果字符重复出现的次数小于3次,一般就不进行行程长度编码,而是直接使用重复出现的字符。例“AAAABBBAABBBBBCCCCCCCCDABCBAAABBBBCCCD”,经过行程长度编码后就是:“4A3BAA5B8CDABCB3A4B3CD”。原有的数据量是38个字节(一个字符占用一个字节),压缩编码后的数据量是22个字节(一个数字也占一个字节)。压缩比约为1.72。行程长度编码实例若采用行程长度编码,对于图中第1排到第4排的编码如下:图中第1排(第1行~第4行):10白,1黑,13白图中第2排(第5行~第8行):10白,3黑,11白图中第3排(第9行~第12行):10白,2黑,6白,2黑,4白图中第4排(第13行~第16行):2白,19黑,3白若每个数字用1字节编码,一种颜色也用1字节编码。这16行编码后的数据量是:6×4+6×4+10×4+6×4=112字节如果不采用压缩编码,这16行数据

温馨提示

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

评论

0/150

提交评论