计算机教程信息表示_第1页
计算机教程信息表示_第2页
计算机教程信息表示_第3页
计算机教程信息表示_第4页
计算机教程信息表示_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

1、介绍数值型数据和介绍数值型数据和字符型数据的基本编字符型数据的基本编码技术,并简单介绍码技术,并简单介绍数据压缩技术。数据压缩技术。l数制及转换数制及转换l数值型数据的表示及运算数值型数据的表示及运算l字符编码技术字符编码技术l数据压缩数据压缩2.1.1 进位计数制进位计数制数制数制:也称计数制,是指用一组固定的符号和统一的规则来表示数值的方法。进位计数制进位计数制:按进位的方法进行计数。例如,十进制、二进制、八进制和十六进制等。进位计数制三要素进位计数制三要素l数位:如个、十、百、千、万位等。l基数:数码个数,逢基数进一。l位权:与数位相关的一个固定数值。例如,十进制数的个位位权为100=1

2、,十位为101=10,百位为102=100 而小数点后的位权依次为10-1、10-2 等;对于二进制数101.01,其位权依次是22、21、20、2-1、2-2。常见进位计数制常见进位计数制位权展开式位权展开式l用于把任何一个R进制数N转换为等值的十进制数:l其中:i=0,1,2,3, Ri为第i位的位权,ai为第i位数码所对应的十进制数(或称系数)。2.1.2 将非十进制数转换为十进制数将非十进制数转换为十进制数方法:方法:采用位权展开式示例:示例:(1011.101)2 = 123+022+121+120+ 12-1+02-2+12-3 = (11.625)10 (143) 8 = 182

3、+481+380 = (99)10 (FA59)16 = 15163+10162+5161+9160 = (64089)10 2.1.3 将十进制数转换为非十进制数将十进制数转换为非十进制数基本方法基本方法:将整数部分和小数部分分别进行转换,然后再将它们合并起来。一、对于整数部分,采用除一、对于整数部分,采用除R取余数倒排法:取余数倒排法:例2.2,(89)10 (1011001)2 ,采用“除2取余倒排法” 例2.3,(219)10 (DB)16 ,采用“除16取余倒排法” 二、对于小数部分,采用乘二、对于小数部分,采用乘R取整顺排法取整顺排法例2.4,(0.3125)10 (0.0101)

4、2 , 采用“乘2取整顺排法” 2.1.4 非十进制数之间的转换非十进制数之间的转换(一)二进制转换为八进制十六进制(一)二进制转换为八进制十六进制l方法:3位合1位(或4位合1位),不足补0 l例2.5(二)八进制十六进制转换为二进制(二)八进制十六进制转换为二进制l方法: “一分为三”(或 “一分为四”),去除头尾多余的0。l例2.62.2.1 二进制的基本运算二进制的基本运算一、算术运算一、算术运算l二进制加、减运算规则:逢二进一,借一当二l例2.7二、逻辑运算二、逻辑运算l逻辑或:00=0 01=1 10=1 11=1l逻辑与:00=0 01=0 10=0 11=1l非运算:0的非是1

5、,1的非是0。l异或运算:l例2.82.2.2 机器数与真值机器数与真值l机器数:数值在计算机中的二进制表示形式,包括数的正、负符号和小数点。l真值:机器数所代表的一般数学意义上用正负号和数字符号表示的实际数值。l数符:机器数的最高位通常定义为符号位,表示数的正负号,一般0表示正号“+”,1表示负号“”。其余位则表示数值的大小。如:(0110101)2表示为:2.2.3 整数和实数的表示方法整数和实数的表示方法l定点数和浮点数:在计算机内部,并不显式地表示出小数点,而是通过对小数点的位置加以规定来表示。根据数中小数点的位置是否固定,可把机器数分为定点数和浮点数两种表示方法。l通常,使用定点数表

6、示整数,而用浮点数表示实数。一、整数一、整数l整数没有小数部分,因此可以认为小数点固定在数的最右边。l整数分为:无符号整数:所有二进制位表示数值的大小有符号整数:最高位表示数的正负号,其他位表示数值的大小。如,65的一种机内表示是:l整数表示的数值是精确的,但数值范围受机器字长的限制。二、实数二、实数l基本表示方法:用阶码和尾数来表示。如: 0.3429106 尾数 阶码l为什么称为浮点数表示法?由于阶码可以取不同数值,使得小数点的位置不固定,从而可以有多种形式表示同一个实数。例如,1010.1011可以表示为:10.101011210 101010.11210 0.101010112+100

7、浮点数机内表示形式浮点数机内表示形式l尾数:表示数值的有效数字,当尾数不为0时,其绝对值大于等于0.5(注:因为是二进制数,要求尾数的第1位必须是1 )且小于1。l阶码:用来指示尾数中的小数点应当向左或向右移动的位数。l例如,设机器字长为16位,尾数为8位,阶码为6位,则二进制实数1101.010 = 0.1101012100,其机内表示形式如下: 2.2.4 原码、反码和补码原码、反码和补码机器数的编码方法有多种,最常用的是原码、反码和补码。一、原码一、原码l编码规则:符号位0表示正,1表示负,数值部分用该数绝对值的二进制数表示。例如:l原码易于乘除运算,但不易于加减运算,且零有两种表示形式

8、 二、反码二、反码l编码规则:符号位0表示正,1表示负,正数的反码等于原码,负数的反码等于原码除符号位外按位取反,即0变1、1变0。例如:l反码不方便运算,且零也有两种表示形式,一般在求补码的过程中用到反码。三、补码三、补码l编码规则:符号位0表示正,1表示负,正数的补码等于原码,负数的补码等于其反码末位加1。例如:l例2.9,求X=+1011,Y=1101的原码、反码和补码:l补码易于加减运算,且零有唯一的表示形式四、四、BCD码码lBCD码:用一组4位二进制码来表示1位十进制数的编码方法,也称作二十进制码。通常是指8421 BCD码。l例2.102.2.5 数值运算数值运算一、补码运算采用

9、补码进行加减运算十分方便。通过对负数的编码处理,允许符号位和数值一起参与运算,可以把减法运算转化为加法运算。不论求和、求差,也不论操作数为正、为负,运算时一律只做加法,从而大大简化运算器的设计。例例2.11 通过补码计算通过补码计算9+5、95、9+5和和95 二、移位运算二、移位运算移位的意义移位的意义l移位运算运算相当于乘 2n 运算l可以采用移位和加法相结合,实现乘/除运算l移位运算分为:算术移位:对有符号数的移位逻辑移位:对无符号数的移位算术移位规则算术移位规则不论是正数还是负数,移位后其符号位均不变,只对数值位进行移位(见下表)。示例:正数示例:正数+26在不同码制下的移位在不同码制

10、下的移位示例:负数示例:负数-26在不同码制下的移位在不同码制下的移位逻辑移位规则逻辑移位规则l逻辑左移时,高位移出,低位添0;逻辑右移时,低位移出,高位添0。l例如,对于01010011,逻辑左移1位为1010010;对于10110010,逻辑右移1位为01011001。三、精度和溢出三、精度和溢出l精度:可以给出的有效数字的位数。机器字长越长,可以表示的数的范围越大,精度越高。l溢出:一个数的大小超出了计算机所能表示的数的范围。上溢:两个正数相加,结果大于机器所能表示的最大正数。下溢:两个负数相加,结果小于机器所能表示的最小负数。l程序状态字寄存器(PSW):标记溢出(即将其溢出标志位自动

11、置为1,否则为0)。2.3.1 字符编码的基本知识字符编码的基本知识l字符字符是各种文字和符号的总称,包括各国文字、标点符号、图形符号、数字以及一般不可见的控制符等l字符编码字符编码是指将字符表示为一个二进制数。l字符集字符集是字符的集合,也称为编码字符集编码字符集,强调字符集为每个字符分配一个唯一整数。l代码点代码点是指可用于编码字符集的整数。由编码字符集定义的代码点整数取值范围称为编码空间编码空间。每个代码点表示一个字符或被声明为未使用。l字符编码方案:字符编码方案:是从编码空间的每个代码点到1个或多个固定宽度编码单元序列的映射。l编码单元:编码单元:表示代码点整数的基本二进制位序列,一般

12、为8位、16位或32位。最终将转换为字节序列。l字节序(字节序(Endian ):是指多字节整数在内存中的存放顺序,分为:大序(大序(Big-Endian):高位在前,低位在后。例如,将整数6C49H编排为字节序列 6C 49小序(小序(Little-Endian):低位在前,高位在后。例如,将整数6C49H编排为字节序列 49 6Cl字符的编码过程字符的编码过程: 分配代码点用1个或多个编码单元表示字节序列2.3.2 十六进制编辑器简介十六进制编辑器简介lHex编辑器能够以字节和二进制位为单位来修改文件。由于任何文件可看成字节流,因此Hex编辑器可查看、编辑任何文件的二进制表示lWinHex

13、简介2.3.3 ASCII码及其码及其ANSI扩展扩展lASCII码码是美国信息交换标准码(American Standard Code for Information Interchange)的简称,用于编码国际上最通用的西文字符。lASCII码一般使用8位(1个字节)编码单元表示字符,最高位恒为0,只用低7位对字符进行编码,能表示27=128种字符。lASCII字符集包括26个大写字母AZ、26个小写字母az、10个数字09、32个标点符号和运算符、1个空格(码值32)以及33个控制字符。每个ASCII码由一个高3位组 b6b5b4 和一个低4位组b3b2b1b0 构成。例如,回车符(CR

14、)的ASCII码是 000 1101例例2.12 验证编辑文本文档时通过按回车键产生的换行符通常称为回车换行符(CR/LF)。启动“记事本”,输入“abc”、回车键、 “ABC”,存盘启动 WinHex 编辑器,打开第1步保存的 文件。中间2个字节0D、0A分别是回车符(CR)和换行符(LF)的十六进制数表示ASCII扩展字符集扩展字符集l由于ASCII码只使用单字节编码单元中的低7位,因此ASCII码可被扩展。lANSI 扩展标准:ASCII扩展字符集仍然使用单字节编码单元,要求ASCII码必须用1个等值的高位为0的编码单元表示,但对于其他高位为1的编码单元则依赖于特定国家的具体定义ANSI

15、 字符集字符集 :是指按ANSI标准派生的ASCII扩展字符集,如:Latin-1、GB2312、Big-5等。有时也称为多字节字符集(简称MBCS)。2.3.4 汉字编码汉字编码 常用编码:GB2312、BIG-5、GBK和GB180302.3.4.1 GB2312一、国标字符集与区位码一、国标字符集与区位码lGB2312字符集包括6763个常用简体汉字和682个图形符号,并为每个字符给出国标码国标码和区位码区位码。l所有字符排成一个9494的矩阵,矩阵中每一行称为一个区,每一列称为一个位。矩阵中的每个字符可用区码和位码表示,称为区位码区位码。区位码区位码也是一种汉字输入码。例如,在“区位输

16、入法”状态下l输入0102、0103、0104可输入全角符号“、。”l输入1601、1602、1603可输入一级汉字“啊阿埃”l输入5601、5602、5603可输入二级汉字“亍丌兀”二、国标码、区位码和机内码之间的换算关系二、国标码、区位码和机内码之间的换算关系l国标码采用两个字节表示: 国标码高字节 = (区码)16 20H 国标码低字节 = (位码)16 20Hl汉字机内码(符合ANSI字符集标准):机内码高字节 = 国标码高字节 80H = (区码)16 A0H机内码低字节 = 国标低高字节 80H = (位码)16 A0H例例2.13 查看汉字查看汉字“国啊国啊”的机内码。的机内码。

17、启动“记事本”,输入“abc国啊”,存盘(注意: “编码”下拉列表中的“ANSI”表示按ANSI字符编码格式保存)。启动 WinHex 编辑器,打开刚保存的文件。2.3.4.2 其他常用汉字编码其他常用汉字编码一、BIG-5 (大五码)l通行于我国台湾、香港等地区的繁体字编码方案。l采用双字节编码方案,第1字节的最高位总是1,第2字节的最高位可能是1或0。二、GBKlGBK是对GB2312的扩充,仍然采用双字节编码方案,收录21886个汉字和图形符号。lGB18030是对GBK的扩充,在双字节编码的基础上对罕见汉字使用4字节编码。收录27484个汉字,同时还收录日文、朝鲜语和藏、蒙等文字。 A

18、SCII GB2312 GBK GB18030 向下兼容2.3.5 Unicode编码编码lUnicode(通用码)是当前国际上最为通用的字符编码规范,它为全世界所有语言(超过650种)的每个字符分配一个唯一数字,以满足跨语言、跨平台进行文本转换、处理的要求。lUnicode标准已经被计算机业界主流所采用,许多操作系统、所有最新的浏览器和许多其他软件产品都支持它。2.3.5.1 Unicode字符集字符集lUnicode字符集采用四维编码空间l每个字位对应一个Unicode代码点。lUnicode代码点书写格式:如 U+41 表示 “A”UCS-4码和码和UCS-2码码lUCS-4码码定义Un

19、icode字符集的所有代码点,对每个代码点使用4个8位(即32位,且最高位总是0)依次表示这个代码点所在的组、平面、行和字位:共有231=2,147,483,648个代码点。例如,字符“ ”编排在00组01面04行00位,故其UCS-4码是U+00010400。l基本多文种平面(基本多文种平面(BMP):是指Unicode字符集的第1个平面,即0组0面。lUCS-2码码只对BMP中的代码点进行双8位编码,共有216=65,536个代码点。例如 “A” U+0041 “” U+20AC “汉” U+6C49。lUCS-2码基本上可以容纳所有的欧美字符和绝大部分的亚洲字符,因此,UCS-2字符集被

20、普通支持。l小提示:小提示:在Word中,将输入点移至某个字符的右侧,按下Alt+X,该字符就转换为Unicode代码点,再按则转换回原字符2.3.5.2 UTF编码编码lUTF是对Unicode字符集编码的实现方案,为每个Unicode字符给出机内表示格式, Unicode 字符的机内码lUTF规范定义了三种编码格式,即UTF-8、UTF-16和UTF-32,它们都能够正确地编码任何Unicode代码点。其中,UTF-8和UTF-16被广泛使用,而UTF-32很少使用。一、一、UTF-32lUTF-32码是定长码,使用1个32位(即4字节)编码单元表示每个等值的Unicode代码点。例如,字

21、符“A”的代码点U+41用4个字节表示等值的无符号整数41H。lUTF-32的优点在于编码简单,缺点是每个字符都需4字节表示,太浪费存储空间。二、二、UTF-16lUTF-16码是变长码,使用1个或2个16位(即2字节)编码单元对Unicode代码点进行编码。对BMP字符的表示方式等同于UCS-2,使用2个字节。例如用两个字节6CH和49H表示字符“汉”的代码点U+6C49对于非BMP字符则使用4个字节表示。lUTF-16的优点在于几乎所有常见字符都使用双字节表示,便于统一处理;缺点是每个ASCII字符也要用2个字节表示。UTF-16分类分类l由于UTF-16使用双字节编码单元,因此UTF-1

22、6码有两种形式:大序UTF-16(UTF-16 big-endian):如“国”的代码点U+56FD表示为2字节序列56 FD小序UTF-16(UTF-16 little-endian):如“国”表示为2字节序列FD 56。l标记字节序:使用BOM字符U+FEFF,即如果文档起始2个字节是FE FF,则表示文档是大序UTF-16;若这2个字节为FF FE,则文档为小序UTF-16。例例2.14 查看英文字符查看英文字符“a”和汉字和汉字“国国”的小的小序序UTF-16编码编码启动“记事本”,输入文字“a国”,然后以“Unicode”编码格式保存。启动 WinHex 编辑器查看。三、三、UTF-

23、8lUTF-8码也是变长码,使用1个或多个8位(即1字节)编码单元对Unicode代码点进行编码。对BMP字符使用13个字节序列编码,如表2-11所示对于非BMP字符则使用4个或更多字节表示UTF-8编码示例编码示例字符“汉”的代码点是U+6C49,根据表2-11所示格式,先将6C49写成二进制数01101100 01001001,然后用这个比特流依次替换模板 1110 xxxx 10 xxxxxx 10 xxxxxx 中的x,得到11100110 10110001 10001001,即UTF-8把字符“汉”编码为3字节序列 E6 B1 89。lUTF-8的优点在于与ASCII兼容、容错能力强

24、、与字节序无关,便于在不同平台之间交流;其缺点是所有汉、日、韩等字符必须用3个字节表示。lUTF-8文档常起始于3字节序列EF BB BF(即字符U+FEFF的UTF-8编码)例例2.15 查看字符查看字符“A”和和“汉汉”的的UTF-8编码编码启动“记事本”,输入文字“A汉”,然后以“UTF-8”编码格式保存启动 WinHex 编辑器查看2.3.5.3 统汉字统汉字Unicode 把经过中日韩整合(CJK Unification)的汉字称为统汉字(Unihan),共有2万多个。2.3.5.4 Unicode与代码页与代码页l“代码页”(Code Page)是某种字符集的编号,如GB2312的

25、代码页是20936、BIG5是950。由代码页可确定相应的字符编码转换表。lWindows系统内核已统一使用 Unicode,但由于大量应用软件及文档还未使用 Unicode,因此 Windows 仍然保留代码页字符转换机制,即通过指定的字符编码转换表将非 Unicode 的字符编码(如GBK、Big-5码)转换为 Unicode 编码2.3.6 字形码字形码l字形是指字符的外观,相当于一个小图形l字形码(也称字模)是描述字符字形的编码。l字库:存放字模的数据文件l汉字库:主要用于存放汉字字模的字库l字符输出:计算机在输出(显示或打印)字符时,要根据字符的机内码找出该字符的字模在字库中的位置,

26、从而取出字模,用于输出。点阵点阵l点阵是对字符外观的直接描述,其他描述(如矢量、轮廓方法)的最终结果仍是点阵。l点阵描述方法:将字符放入一个横竖都经过等分的方块中,如图2.9所示,形成一个位图。l每个点用1位二进制数表示,有笔划的为1,无笔划的为0。每8个点依次组成1个字节。例如,在1616点阵中,每个字模需要1616/8=32个字节表示。矢量字模矢量字模用一种称为形(shape)的图形实体来定义字符,使用直线和圆弧作为字符的基本笔画。其优点是字模存储量少,缺点是字形不优美。轮廓字模轮廓字模l轮廓技术采用直线或二次曲线的集合来描述一个字符的轮廓线,对轮廓线构成的一个或若干个封闭平面区域,采用适

27、当的区域填充算法,生成字符的位图点阵。l兼有字模存储量少、字形又美观的双重优点。轮廓字符可以任意放大、缩小及变化形体。lTrueType 字形技术采用这种轮廓技术, Windows 的绝大多数字库都属于 TrueType 字库2.3.7 汉字输入码汉字输入码汉字输入码是指从键盘上输入的代表汉字的编码,又称汉字外码。汉字输入码分为以下4类:l流水码:将汉字按一定的顺序排列,依次编排一个号码,如区位码。流水码输入法简单、唯一,但较难记忆和掌握。l音码:根据汉字的读音进行编码,如全拼、双拼、智能ABC等。音码输入法易于掌握,懂得汉语拼音即可,但重码率高,不便盲打。2.3.7 汉字输入码(汉字输入码(

28、2)l形码:根据汉字的字形进行编码。如五笔字型、郑码。形码输入法较难掌握,但重码率低,便于盲打。l音形码:根据汉字的字音和字形进行编码,如首尾码。此外,多数汉字输入法都提供了重码字辅助选择、词组输入、联想输入等功能。2.4.1 基本概念基本概念l数据压缩数据压缩是指对数据重新进行编码,以减少所需存储空间l解压缩解压缩是指将压缩的数据恢复成原状l压缩比压缩比:压缩前和压缩后的数据量之比,如压缩比为20 1表示压缩后的数据量是原始数据的1/20l数据压缩技术用于压缩文本、图像、音频和视频等数据。有些压缩技术需要特殊的硬件,而有些压缩技术则完全由软件实现。数据为什么能被压缩呢?数据为什么能被压缩呢?

29、l数据中常存在一些冗余,如重复符号l数据中间尤其是相邻的数据之间,常存在着相关性,如图像中常常有色彩均匀的背影、视频的相邻两帧之间可能只有少量的变化影物是不同的、音频信号有时具有一定的规律性和周期性等等l耳、目对信号的时间变化和幅度变化的感受能力都有一定的局限性,因此可以将信号中感觉不出的分量隐蔽掉。数据压缩技术的指标:数据压缩技术的指标:l压缩比:显然压缩比越大就越好l恢复效果:尽量能够解压缩回原始数据l速度:实现压缩的算法要简单,压缩、解压速度快,尽可能支持实时压缩、解压。l对称性:压缩和解压缩占用相同的处理能力和时间,适用于实时压缩的视频传送(如视频会议);而不对称编码意味着压缩和解压缩占用不同的处理能力和时间,适用于电子出版和其他多媒体应用。2.4.2 数据压缩方法简介数据压缩方

温馨提示

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

评论

0/150

提交评论