《第二章信息的表示与储存优秀PPT.ppt》由会员分享,可在线阅读,更多相关《第二章信息的表示与储存优秀PPT.ppt(68页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第二章信息的表示与储存第一页,本课件共有68页第二章 信息的表示与存储 主要内容主要内容 2.1 2.1 二进制编码二进制编码 2.2 2.2 数据转换及其运算数据转换及其运算 2.3 2.3 数据在计算机中的表示方法数据在计算机中的表示方法 2.4 2.4 数据压缩数据压缩 第二页,本课件共有68页思考:我们日常生活中接触的进制思考:我们日常生活中接触的进制 最常用的十进制最常用的十进制 星期:星期:七进制七进制 小时:小时:2424进制,分钟:进制,分钟:6060进制,秒:进制,秒:6060进制进制 月份:月份:1212进制进制1 1二进制编码2.1 二进制编码及运算第三页,本课件共有68
2、页理理 解解 0 0 和和 1 1 在计算机中采用二进制在计算机中采用二进制存储和表示信息。存储和表示信息。二进制数只有两个数码,二进制数只有两个数码,0和和1,低位向高位进位是,低位向高位进位是逢二进一,借一当二。逢二进一,借一当二。为什么计算机中采用二进制而不采用我们熟悉的十为什么计算机中采用二进制而不采用我们熟悉的十进制计数呢?进制计数呢?因为计算机中大量的电子元器件一般都具有两种稳定因为计算机中大量的电子元器件一般都具有两种稳定状态,如电压的高与低、晶体管的导通与截止,开关的状态,如电压的高与低、晶体管的导通与截止,开关的开与关等,这两种状态正好用来表示二进制数的两个数开与关等,这两种
3、状态正好用来表示二进制数的两个数码码0和和1。采用二进制使信息数字化容易实现,并适合用。采用二进制使信息数字化容易实现,并适合用二值逻辑元件进行表示和处理。二值逻辑元件进行表示和处理。另外,二进制数运算规律简单,可靠性高,易于物另外,二进制数运算规律简单,可靠性高,易于物理实现,适合逻辑运算。理实现,适合逻辑运算。第四页,本课件共有68页理理 解解 0 0 和和 1 1二进制的优点:二进制的优点:物理上容易实现,可靠性高,运算规律简单,适合逻辑运算。物理上容易实现,可靠性高,运算规律简单,适合逻辑运算。1 0 1 0 0 1 0 1 二进制是计算机中采用的计数制。二进制是计算机中采用的计数制。
4、只有只有0和和1两个数字符号,基数是两个数字符号,基数是“2”,低位向高位进位规则,低位向高位进位规则是是“逢二进一逢二进一”。二进制数中小数点向右移二进制数中小数点向右移1位,数值就扩大位,数值就扩大2倍;小数点向左倍;小数点向左移移1位,数值就缩小位,数值就缩小2倍。倍。第五页,本课件共有68页 减法:减法:0-0=0 0-1=1(有借位)(有借位)1-0=1 1-1=0 1011+1100 10111 1100-1011 0001 加法:加法:0+0=0 0+1=1 1+0=1 1+1=0(有进位有进位)2 2二进制数的算术运算 在计算机内部,二进制加法是基本运算,而二进制的减法在计算机
5、内部,二进制加法是基本运算,而二进制的减法则是采用补码运算,将减法转换成加上一个负数来实现的;二则是采用补码运算,将减法转换成加上一个负数来实现的;二进制乘、除法运算可以通过加、减和移位来实现。进制乘、除法运算可以通过加、减和移位来实现。例例2.2 例例2.1 11+12 23第六页,本课件共有68页 逻辑与:逻辑与:0 0=0 0 1=0 1 0=0 1 1=13.二进制的逻辑运算二进制的逻辑运算 逻辑或:逻辑或:0 0=0 0 1=1 1 0=1 1 1=1 逻辑非逻辑非 0=1 1=0 逻辑运算是指对某一给定条逻辑运算是指对某一给定条件,判断其是否成立的一种件,判断其是否成立的一种运算。
6、运算结果不表示数值运算。运算结果不表示数值的大小,而是表示条件成立的大小,而是表示条件成立与否。与否。第七页,本课件共有68页2.2 数制转换及其运算 在讨论数的进位制之前,先介绍进位计数制的在讨论数的进位制之前,先介绍进位计数制的“基基数数”和和“位权位权”的概念。因为无论采用哪种计数制表示的概念。因为无论采用哪种计数制表示数据,都涉及到数据,都涉及到“基数基数”和和“位权位权”。在日常生活中在日常生活中,人们除了使用十进制外,也人们除了使用十进制外,也经常经常使用使用其他进制,如其他进制,如六十进制、十二进制等。由于计六十进制、十二进制等。由于计算机中所有信息都是以二进制数的形式表示和存算
7、机中所有信息都是以二进制数的形式表示和存储的,因此需要了解二进制和其他进制之间的转储的,因此需要了解二进制和其他进制之间的转换与运算换与运算。第八页,本课件共有68页 我们先来看一个例子:十进制数我们先来看一个例子:十进制数 678.34我们怎么能正确识别这个数呢?我们怎么能正确识别这个数呢?根据每个数字所在的位置,我们可以判断数的大小。根据每个数字所在的位置,我们可以判断数的大小。678.3410210110010-110-26*1027*1018*1003*10-14*10-2位权位权第九页,本课件共有68页任何一种进位计数制表示的数都可以写成按权展开的多项式之和任何一种进位计数制表示的数
8、都可以写成按权展开的多项式之和1.数的进位计数制数的进位计数制进位计数制定义:进位计数制定义:进进位位计计数数制制是是一一种种数数的的表表示示方方法法,按按进进位位的方法来计数。的方法来计数。采用位权表示法采用位权表示法;逢逢r进一。进一。基数:基数:每种进位计数制都有自每种进位计数制都有自己基本的符号,己基本的符号,若某种进位计数制若某种进位计数制中使用了中使用了r个符号(个符号(0 0,1 1,2 2,,r-1 1),),r 称为该进位计数制的基数称为该进位计数制的基数。位权:位权:进位制中基数的某次幂进位制中基数的某次幂值称为值称为“位权位权”。第十页,本课件共有68页r进制r r进制数
9、进制数N N可表示为:可表示为:v基数:基数:r rvr rn-1n-1,r rn-2n-2,,r,r0 0,r r-1-1,r r-2-2,r r-m-m分别是某位的权分别是某位的权v数码:数码:0 0,1 1,2 2,r-1r-1Nr=an-1rn-1+a1r1+a0r0+a-1r-1+a-mr-m或r进制数进制数N可以表示为:按权展开的多项式之和可以表示为:按权展开的多项式之和即即;该数各位的数码乘以所在位的权值的和。该数各位的数码乘以所在位的权值的和。第十一页,本课件共有68页基数位权位权数码数码(1)十进制数v基数:基数:1010v10102 2,10101 1,10100 0,10
10、10-1-1,1010-2-2分别是数的百位、十位、个分别是数的百位、十位、个位、十分位、百分位的权位、十分位、百分位的权v数码:数码:0 0,1 1,2 2,3 3,4 4,5 5,6 6,7 7,8 8,9 9第十二页,本课件共有68页(2)二进制数二进制数按二进制数按“权权”展开的形式为展开的形式为:v基数:基数:2 2v2 2n-1n-1,2 2n-2n-2,,2,20 0,2,2-1-1,2 2-2-2,2 2-m-m 分别是数某位的权分别是数某位的权v数码:数码:0 0,1 1用英文字母标识来标识进位制:用英文字母标识来标识进位制:字母字母“D”代表十进制,代表十进制,“B”代表二
11、进制,代表二进制,字母字母“O”代表八进制,代表八进制,“H”代表十六进制。代表十六进制。第十三页,本课件共有68页(3 3)八进制数和十六进制数)八进制数和十六进制数 二进制数书写位数多,难以记忆和识别,为了便于书写和记二进制数书写位数多,难以记忆和识别,为了便于书写和记忆,常用八进制数或十六进制数作为二进制数的助记符形式。忆,常用八进制数或十六进制数作为二进制数的助记符形式。进进 制制十进制十进制二进制二进制八进制八进制十六进制十六进制基基 数数10102 28 81616数字符号数字符号0 09 90 0,1 10 07 70 09 9 A A(1010)B B(1111)C C(121
12、2)D D(1313)E E(1414)F F(1515)第十四页,本课件共有68页十进制数十进制数非十进制数非十进制数非十进制数非十进制数十进制数十进制数二、八、十六进制之间的转换二、八、十六进制之间的转换2.2.不同进位计数制间的转换不同进位计数制间的转换第十五页,本课件共有68页2.不同进位计数制间的转换不同进位计数制间的转换(1)(1)r r进制数(非十进制数)转化成十进制数进制数(非十进制数)转化成十进制数 各种进位制转换为十进制的方法:分别写出二进制各种进位制转换为十进制的方法:分别写出二进制数、八进制数和十六进制数的按权展开式,计算所得的数、八进制数和十六进制数的按权展开式,计算
13、所得的值,即为转换后的十进制数值,即为转换后的十进制数。其中:其中:ai 为系数(数码)为系数(数码)r r为基数为基数 n n为项数为项数第十六页,本课件共有68页例例2.5:(10101)2=124+0 23+1 22+0 21+120 =24+22+1=(21)10举例第十七页,本课件共有68页 例例2.6:(3506.2)8=383+582+081+6 80+2 8-1 =1536+320+6+0.25 =(1862.25)10例例2.7:(A3E.5)16=10162+3161+14160+516-1 =2560+48+14+0.31 =(2622.31)10举例第十八页,本课件共有
14、68页由以上几个例子看出:由由以上几个例子看出:由R进制转换到十进制。可进制转换到十进制。可以把小数点作为起点,分成向左右两边进行,即对于以把小数点作为起点,分成向左右两边进行,即对于其整数部分和小数部分分别转换。其整数部分和小数部分分别转换。即:即:非十进制数非十进制数 十进制数十进制数(1011.1)223 22 21 20 2-1 第十九页,本课件共有68页 8 75 余数为3(a0)8 9 余数为1(a1)8 1 余数为1(a2)0余数法:余数法:除基数取余数、由下而上排列。例:将十进制的例:将十进制的75转换成八进制转换成八进制十进制整数十进制整数 非十进制整数非十进制整数第二十页,
15、本课件共有68页2 75 1 2 37 1 2 18 0 2 9 1 2 4 0 2 2 0 2 1 1 0又例:又例:第二十一页,本课件共有68页进位法:进位法:用十进制小数乘基数,当积为0或达到 所要求的精度时,将整数部分由上而下排列。示例:示例:0.625 2 1.250 整数=1 2 0.50 整数=0 2 1.0 整数=1 小数值=0十进制小数十进制小数 非十进制小数非十进制小数如果十进制的数即有整数也有小数,将其两部分合起即可。如果十进制的数即有整数也有小数,将其两部分合起即可。第二十二页,本课件共有68页021005020225012216322120011 0.23 2 0.4
16、6 2 0.92 2 1.84例:将(例:将(100.23)10 化为二进制。化为二进制。0.84 2 1.68 若小数保留若小数保留4 4位:位:第二十三页,本课件共有68页3.二进制、八进制、十六进制数间的转换 八进制八进制 对应二进制对应二进制00001001201030114100510161107111每每3 3位二进制对应一位八进制数位二进制对应一位八进制数第二十四页,本课件共有68页 十六进制十六进制对应二进制对应二进制十六进制十六进制 对应二进制对应二进制0000081000100019100120010A101030011B101140100C110050101D110160
17、110E111070111F1111每每4 4位二进制对应一位十六进制数位二进制对应一位十六进制数第二十五页,本课件共有68页 整数部分从右向左三位并一位整数部分从右向左三位并一位 小数部分从左向右三位并一位小数部分从左向右三位并一位二进制二进制 八进制八进制二、八与十六进制之间的转换二、八与十六进制之间的转换一位拆三位一位拆三位一位拆四位一位拆四位 整数部分从右向左四位并一位整数部分从右向左四位并一位 小数部分从左向右四位并一位小数部分从左向右四位并一位二进制二进制 十六进制十六进制 第二十六页,本课件共有68页例例2.10 将二进制数将二进制数10110011.10101转换为八进制数。转
18、换为八进制数。010 110 011.101 010(B)=263.52(O)2 6 3 5 2 (高位和低位各补1个0)例例2.11 将二进制数将二进制数1011010101.101011转换为十六进制数。转换为十六进制数。0010 1101 0101.1010 1100(B)=2D5.AC(H)2 D 5 A C (高位和低位各补2个0)v 二进制转化成二进制转化成八八(十六十六)进制进制 整数部分:整数部分:小数点为基准小数点为基准从右向左按三从右向左按三(四四)位进行分组位进行分组 小数部分:小数部分:小数点为基准小数点为基准从左向右按三从左向右按三(四四)位进行分组位进行分组 不足补
19、零不足补零第二十七页,本课件共有68页例例2.12 将八进制数将八进制数(6415.64)8转换为二进制数。转换为二进制数。(6415.64)8=(110 100 001 101.110 100)2 6 4 1 5.6 4例例2.13 将十六进制数将十六进制数(6A1D.C4)16转换为二进制数。转换为二进制数。(6A1D.C4)16=(0110 1010 0001 1101.1100 0100)2 6 A 1 D.C 4 八(十六)进制转换为二进制八(十六)进制转换为二进制 将将八进制数八进制数转换为二进制数转换为二进制数:只需将只需将1 1位八进制数转为位八进制数转为3 3位位二进制数二进
20、制数;将将十六进制数十六进制数转换为二进制数转换为二进制数:只需将只需将1 1位十六进制数转位十六进制数转为为4 4位二进制数位二进制数.第二十八页,本课件共有68页4.二-十进制数(BCD码)v日常习惯使用十进制,为了让计算机能够识别、存储日常习惯使用十进制,为了让计算机能够识别、存储十进制数,向计算机输入数据时仍采用十进制。十进制数,向计算机输入数据时仍采用十进制。v计算机先将计算机先将十进制按位编码,每位十进制对应十进制按位编码,每位十进制对应4 4位二进位二进制表示制表示,计算机自动将其转换为二进制数,这种编码,计算机自动将其转换为二进制数,这种编码称为称为BCDBCD编码编码(又称又
21、称 84218421码)。码)。v主要用途帮助计算机自动实现主要用途帮助计算机自动实现十进制向二进制相互转换十进制向二进制相互转换。vBCDBCD码取码取1010种状态表示十进制数码种状态表示十进制数码0 09.9.既具有二进制既具有二进制的形式,又具有十进制的特点,逢的形式,又具有十进制的特点,逢“十十”进位。进位。第二十九页,本课件共有68页二-十进制数(BCD码)(75.475.4)D D =(0111 0101.0100)BCD 0111 0101.0100)BCD (1000 0101.0101)BCD(1000 0101.0101)BCD(85.5)D(85.5)D BCDBCD码
22、与二进制之间的转换不码与二进制之间的转换不能直接进行,应先转换为十进能直接进行,应先转换为十进制后再转换为二进制。制后再转换为二进制。第三十页,本课件共有68页2.3 2.3 数据在计算机中的表示方法数据在计算机中的表示方法 主要内容主要内容 1 1.计算机中数据的存储单位计算机中数据的存储单位 2.2.带符号数的机器数表示带符号数的机器数表示 3.3.数的原码、反码和补码表示数的原码、反码和补码表示 4.4.定点数与浮点数定点数与浮点数 第三十一页,本课件共有68页2.带符号数的表示 数值数据是指通常所说的数或数据,它有正负和大小之数值数据是指通常所说的数或数据,它有正负和大小之分,有整数和
23、小数之分。分,有整数和小数之分。下面介绍带符号数的表示方法。下面介绍带符号数的表示方法。但是在计算机中是不能存储负号的,只能存储但是在计算机中是不能存储负号的,只能存储0 0和和1.1.因因此,就提出一个想法,正、负也要用此,就提出一个想法,正、负也要用“0”0”和和“1”1”来表示来表示,将表示数的位数拿出来一位表示数的符号。一般指定,将表示数的位数拿出来一位表示数的符号。一般指定最左边一位表示数的符号,用最左边一位表示数的符号,用0 0代表正数,用代表正数,用1 1代表负数。代表负数。原来八位存储一个数,现在就用七位存储数值了。原来八位存储一个数,现在就用七位存储数值了。问题:问题:十进制
24、数十进制数6 6用八位二进制表示为:用八位二进制表示为:0000011000000110 十进制十进制-6-6如何表示?如何表示?-00000110 -00000110 可以吗?可以吗?第三十二页,本课件共有68页2.带符号数的表示 符号位符号位 “0”表示正表示正、“1”表示负表示负10000110若一个数用若一个数用8 8位二进制表示,位二进制表示,+6+6和和-6-6 表示形式为:表示形式为:00000110+6+6-6-6通常称这种符号数字化的数为机器数。通常称这种符号数字化的数为机器数。第三十三页,本课件共有68页 数的原码、反码和补码表示数的原码、反码和补码表示 这种用这种用0和和
25、1 表示数的符号的数称为机器数,也称为表示数的符号的数称为机器数,也称为数的原码。但是实际上计算机中不是用这种方法存储数的原码。但是实际上计算机中不是用这种方法存储有符号数的。为什么呢?有符号数的。为什么呢?机器数在进行运算时,若将符号位和数值位同时参机器数在进行运算时,若将符号位和数值位同时参与运算,则会得出错误的结果。与运算,则会得出错误的结果。第三十四页,本课件共有68页例例2.122.12:X=+6 XX=+6 X原码原码=00000110=00000110Y=-3 YY=-3 Y原码原码=10000011=10000011X+Y=+6+X+Y=+6+(-3-3)=6-3=3=6-3=
26、3原码相加:得到原码相加:得到-9-9 00000110 00000110+10000011+10000011 10001001 10001001 (-9-9)因此,为了运算方便,计算机中因此,为了运算方便,计算机中引入了反码和补码的概念,将加引入了反码和补码的概念,将加减法运算统一转换为补码的加法减法运算统一转换为补码的加法运算。运算。原码相减:得到原码相减:得到-3-3 0000011000000110-10000011-10000011 10000011 10000011-3-3 数的原码、反码和补码表示数的原码、反码和补码表示 第三十五页,本课件共有68页0X1|X|0=XX=0+7:
27、0 000 0111 +0:00000000 -7:1 000 0111 -0:10000000 X原原=数的原码、反码和补码表示数的原码、反码和补码表示 表示数的范围:表示数的范围:-127 127 1 111 1111 0 111 1111 整数整数X X的原码表示是:整数的符号位用的原码表示是:整数的符号位用“0 0”表示正,表示正,“1 1”表示负,表示负,其数值部分是该数的绝对值的二进制表示。其数值部分是该数的绝对值的二进制表示。在原码表示中,在原码表示中,0 0有两种有两种表示方法。表示方法。正数的原码、反码和补码形式完全相同,而负数则有不同的表示正数的原码、反码和补码形式完全相同
28、,而负数则有不同的表示形式。形式。第三十六页,本课件共有68页(2)反码0X1|X|0=XX=0+7:0 000 0111 +0:0 000 0000 -7:1 111 1000 -0:1 111 1111 X反反=负数的反码是对该数的原码除了负数的反码是对该数的原码除了符号位外各位取反符号位外各位取反。在反码表示中,在反码表示中,0 0有两有两种表示方法。种表示方法。反码是求补码的中间过渡。反码是求补码的中间过渡。第三十七页,本课件共有68页补码表示中:补码表示中:0 0有唯一的表示形式,即有唯一的表示形式,即 +0=-0=00000000+0=-0=00000000因此,可以用多出来的编码
29、因此,可以用多出来的编码1000000010000000来扩展补码的表示范围来扩展补码的表示范围值为值为-128-128,最高位,最高位1 1即可看做符号位负数,又可表示为数值。即可看做符号位负数,又可表示为数值。表示数的范围:表示数的范围:-128-128127127+7:0 000 0111 +0:0 000 0000 0X1|X|+10=XX=0-7:1 111 1001 -0:0 000 0000 X补补=负数的补码是在其负数的补码是在其反码的基础上末位加反码的基础上末位加1 1。(3)补码第三十八页,本课件共有68页例例2.13:利用补码进行(利用补码进行(+6)+(-6)运算。)运
30、算。X=+6 X原原=00000110 X补补=00000110Y=-6 Y原原=10000110 Y补补=11111010 两数相加两数相加 00000110 +6的补码的补码 +11111010 -6的补码的补码 100000000 0的补码的补码第三十九页,本课件共有68页例例2.14:利用补码进行(利用补码进行(+6)+(-3)运算。)运算。X=+6 X原原=00000110 X补补=00000110Y=-3 Y原原=10000011 Y补补=11111101 两数相加两数相加 00000110 +6的补码的补码 +11111101 -3的补码的补码 100000011 +3的补码的补
31、码第四十页,本课件共有68页计算机中数据存储与时钟一样,是个模数系统。超过了它计算机中数据存储与时钟一样,是个模数系统。超过了它所能表示的最大值后,就又会恢复到初始状态。所能表示的最大值后,就又会恢复到初始状态。当运算结果超出其表示范围时,会产生当运算结果超出其表示范围时,会产生“溢出溢出”(得(得出不正确的结果)。出不正确的结果)。两个两个8位二进制数相加位二进制数相加 1111 1111:255 0000 0001:110000 0000:0数表示的范围受到字长的限制数表示的范围受到字长的限制 若表示一个整数:若表示一个整数:用用8 8位,位,最大值为最大值为011111110111111
32、1,即,即2 27 7-1=127-1=127 用用1616位,最大值为位,最大值为01111111111111110111111111111111,即,即2 21515-1=32767-1=32767第四十一页,本课件共有68页3.无符号数的表示无符号数的表示在无符号数据处理的过程中,如不需要设置符在无符号数据处理的过程中,如不需要设置符号位时,可用全部字长来表示数值大小。如号位时,可用全部字长来表示数值大小。如8位位无符号数的取值范围是无符号数的取值范围是0255,255=2同样位数的数据在机器中同样位数的数据在机器中,采用无符号表示或采用无符号表示或有符号表示其取值范围是不同的。有符号表
33、示其取值范围是不同的。11111111第四十二页,本课件共有68页4.4.定点数与浮点数定点数与浮点数 定点整数定点整数 定点数分为定点整数和定点小数。定点数分为定点整数和定点小数。(1)定点数表示小数点固定在机器数的最小数点固定在机器数的最低位之后低位之后整数表示数据精确,数的范围有限。如机器字长16位,补码范围-32768-32767定点数是指规定小数点固定在某一位置上。浮点定点数是指规定小数点固定在某一位置上。浮点数是指小数点位置可以任意浮动。数是指小数点位置可以任意浮动。符号位第四十三页,本课件共有68页4.4.定点数与浮点数定点数与浮点数 S小数点小数点 定点小数定点小数(1)定点数
34、表示小数点固定在符小数点固定在符号位之后号位之后 定点数表示方法使数的表示范围受到限制。当超出规定点数表示方法使数的表示范围受到限制。当超出规定的范围时,就无法表示了。因此,就有另外一种表定的范围时,就无法表示了。因此,就有另外一种表示数的方法,即浮点数。示数的方法,即浮点数。第四十四页,本课件共有68页(2 2)浮点数表示)浮点数表示尾数尾数的位数决定数的精度数的精度阶码阶码的位数决定数的范围数的范围 科学记数法表示:十进制数科学记数法表示:十进制数-1234.567 可表示为:可表示为:-1234.567=-1.234567 103 采用以采用以2为底的科学记数法存储:为底的科学记数法存储
35、:N=数符数符尾数尾数2阶码阶码 (其中:数符(其中:数符0为正,为正,1为负,尾数和阶码都用为负,尾数和阶码都用二进制数二进制数表示)表示)浮点数也称为实数,是指小数点位置不固定的数,浮点数也称为实数,是指小数点位置不固定的数,它既有整数部分又有小数部分。它既有整数部分又有小数部分。利用浮点数可以扩大实数的表示范围。利用浮点数可以扩大实数的表示范围。第四十五页,本课件共有68页IEEE 754标准(美国电气电子工程师协会标准(美国电气电子工程师协会IEEE,1985)将浮点数分成两类将浮点数分成两类:单精度数用单精度数用3232位表示:数符位表示:数符1 1位,阶码位,阶码8 8位,尾数位,
36、尾数2323位位双精度数用双精度数用6464位表示:数符位表示:数符1 1位位,阶码阶码1111位位,尾数尾数5252位位为了处理负指数的情况,实际数据的指数存储时数值加上为了处理负指数的情况,实际数据的指数存储时数值加上127127(2 27 7-1-1)后进行存储。尾数只存储小数部分。)后进行存储。尾数只存储小数部分。单精度浮点数机内存储格式(占单精度浮点数机内存储格式(占4 4个字节,个字节,3232位)位)阶码数符尾数1位位8位位23位位由于不同计算机所选的基值、尾数和阶码的长度不同,因此对浮由于不同计算机所选的基值、尾数和阶码的长度不同,因此对浮点数表示有较大差别,这就不利于软件在不
37、同计算机之间的移植。点数表示有较大差别,这就不利于软件在不同计算机之间的移植。为此,为此,1985年,美国电气电子工程师协会年,美国电气电子工程师协会IEEE制定了制定了IEEE 754标准。标准。第四十六页,本课件共有68页2.4 非数值数据的表示与存储非数值数据的表示与存储 主要内容主要内容1.1.字符编码字符编码2.2.汉字编码汉字编码3.3.多媒体信息表示多媒体信息表示 计算机除了能处理数值数据外,计算机除了能处理数值数据外,也也能识别各种符号、能识别各种符号、字符,如英文字母、汉字、运算符号等。字符,如英文字母、汉字、运算符号等。这些数据在计算机中有特定的二进制编码这些数据在计算机中
38、有特定的二进制编码,也就是非,也就是非数值数据的编码数值数据的编码。编码就是按照一定编码要求和规则进行排列,将编码就是按照一定编码要求和规则进行排列,将1和和0组成的符号串赋予一定的含义,符号串的位数决组成的符号串赋予一定的含义,符号串的位数决定了可以容纳的编码的数目。在现实生活中,有许定了可以容纳的编码的数目。在现实生活中,有许多编码的例子。例如学校学生学号的编码要根据招多编码的例子。例如学校学生学号的编码要根据招生规模来设定,每一位都被赋予一定的含义。编码生规模来设定,每一位都被赋予一定的含义。编码还必须具有唯一性,在一所学校中,不允许出现重还必须具有唯一性,在一所学校中,不允许出现重复的
39、学号,每个学号唯一的对应一位学生。复的学号,每个学号唯一的对应一位学生。如,电话号码如,电话号码 第四十七页,本课件共有68页128128个常用字符,用个常用字符,用7 7位二进制编码,最高位为位二进制编码,最高位为0 0,从,从0 0到到127127控制字符控制字符3434个个:0 03232,127127;普通字符:普通字符:9494个。个。例如:例如:“a a”字符的编码为字符的编码为110 0001110 0001,61H61H,对应的十进制数是对应的十进制数是9797;空格空格 20 20H H 32 32 0 09 9 30H 30H39H 4839H 485757 A AZ Z
40、41H 41H5AH 655AH 659090 a az z 61H 61H7AH 7AH 97 97122122 1.1.字符编码(字符编码(ASCIIASCII码)码)(American Standard Code for Information Interchange)目前在微型计算机中普遍使用的字符编码是目前在微型计算机中普遍使用的字符编码是ASCII码,码,每个字符采用每个字符采用7位二进制数进行编码,位二进制数进行编码,27可以表示可以表示128种种符号符号,包括了计算机处理信息常用的英文字母、数字符包括了计算机处理信息常用的英文字母、数字符号、算术与逻辑运算符号、标点符号等。号、
41、算术与逻辑运算符号、标点符号等。存储字符的编码采用存储字符的编码采用1个字节存储,最高位设置为个字节存储,最高位设置为0.第四十八页,本课件共有68页在在ASCII字符编码表字符编码表中中:每种符号唯一的对应着一个编码。数字每种符号唯一的对应着一个编码。数字09、字母、字母AZ和和az在表在表中都是顺序排列的,小写字母比大写字母的编码值大中都是顺序排列的,小写字母比大写字母的编码值大32。这里需要这里需要记住几个常用的编码:例如:字符记住几个常用的编码:例如:字符“0”的编码不是整数,而是二的编码不是整数,而是二进制的进制的00110000(30H),对应十进制数为),对应十进制数为48;字母
42、;字母“A”的的ASCII编码是编码是1000001(41H),对应的十进制数为),对应的十进制数为65;“a”的的ASCII编码是编码是1100001(61H),对应的十进制数为),对应的十进制数为97。掌握了这。掌握了这几个字符的编码,就可以容易写出后续字母数字的几个字符的编码,就可以容易写出后续字母数字的ASCII编码。编码。还有一些扩展编码,采用还有一些扩展编码,采用8位编码,可以有位编码,可以有256个编码状态。个编码状态。第四十九页,本课件共有68页在了解了数值和字符在计算机中的表示后,同学们可能在了解了数值和字符在计算机中的表示后,同学们可能会产生一个问题:会产生一个问题:数和字
43、符在计算机中都是二进制数,计算机如何区分呢数和字符在计算机中都是二进制数,计算机如何区分呢?一个字节的内容是一个字节的内容是65,它究竟是数值,它究竟是数值65,还是字符,还是字符A?面对孤立的字节,是不能区分,但是存放和使用这个面对孤立的字节,是不能区分,但是存放和使用这个数据的软件,会以其他方式进行区分。数据的软件,会以其他方式进行区分。第五十页,本课件共有68页2.汉字编码拼拼音音五五笔笔等等GB2312-1980GB2312-1980标准汉字字标准汉字字符集,规定在不同的汉符集,规定在不同的汉字系统中进行汉字交换字系统中进行汉字交换时使用的编码,简称国时使用的编码,简称国标码,两个字节
44、。标码,两个字节。汉字在机器内部的表示汉字在机器内部的表示形式,是内部存储,处形式,是内部存储,处理,传输汉字的代码,理,传输汉字的代码,两个字节表示一个汉字。两个字节表示一个汉字。为了区分西文字符的机为了区分西文字符的机内码,每个字节的最高内码,每个字节的最高位设为位设为1.1.每个每个汉字字汉字字形码在汉字形码在汉字字库中字库中的相的相对位移地址对位移地址汉字在计算机中也是字符,也要表示为二进制,也应有统一的编汉字在计算机中也是字符,也要表示为二进制,也应有统一的编码。但是汉字字符多,字型复杂,处理起来比西文字符复杂的多,码。但是汉字字符多,字型复杂,处理起来比西文字符复杂的多,要解决输入
45、、存储、交换和显示的编码问题。要解决输入、存储、交换和显示的编码问题。第五十一页,本课件共有68页(1)(1)汉字输入码汉字输入码 数字编码:数字编码:用用4 4位数字代表一个汉字,如国标区位码、电报码等。位数字代表一个汉字,如国标区位码、电报码等。GB2312 GB2312标准将标准将67636763个汉字和个汉字和700700多个符号分成多个符号分成9494个区,每个区存放个区,每个区存放9494个汉字和符号。无重码,但是记忆困难。个汉字和符号。无重码,但是记忆困难。如:大如:大 2083 2083 工工 2504 2504 十进制十进制 拼音编码:拼音编码:以汉语拼音为基础的输入法,常用
46、有智能以汉语拼音为基础的输入法,常用有智能ABCABC、微软拼音、紫光、全、微软拼音、紫光、全拼、搜狗等。(简单易学,重码,拼音为基础)拼、搜狗等。(简单易学,重码,拼音为基础)字形编码:字形编码:以汉字的形状确定的编码,如五笔字型、表形输入法。(无以汉字的形状确定的编码,如五笔字型、表形输入法。(无重码,快,专业人员)重码,快,专业人员)第五十二页,本课件共有68页 汉字国标码汉字国标码(GB2312(GB23128080)也称汉字交换码)也称汉字交换码,共收录共收录74457445个汉字符号个汉字符号。能表示能表示67636763个常用汉字和一些符号。个常用汉字和一些符号。每个汉字用两个字
47、节、以每个汉字用两个字节、以1616进制表示。进制表示。汉字分成汉字分成9494个区个区,每个区存放每个区存放9494个汉字或符号。由区个汉字或符号。由区号和位号构成区位码。区位码加上号和位号构成区位码。区位码加上3232就构成国标码。就构成国标码。计算机是如何区分字符与汉字的编码呢?计算机是如何区分字符与汉字的编码呢?(2)汉字国标码)汉字国标码 为了在计算机中使用汉字,为了在计算机中使用汉字,1981年,国家标准局公布了年,国家标准局公布了GB2312-80标准汉字字符集,规定了在不同的汉字系统中进行汉标准汉字字符集,规定了在不同的汉字系统中进行汉字交换时使用的编码,简称国标码。字交换时使
48、用的编码,简称国标码。第五十三页,本课件共有68页 汉字机内码是汉字在机器内部的表示形式,是计算机内汉字机内码是汉字在机器内部的表示形式,是计算机内部存储、处理、传输汉字的代码。部存储、处理、传输汉字的代码。为区别为区别ASCIIASCII码码,机内码采用将汉字国标码的每个字节机内码采用将汉字国标码的每个字节的的最高位设为最高位设为1 1,形成了在计算机内部用来进行汉字存储、,形成了在计算机内部用来进行汉字存储、运算的编码。运算的编码。以汉字以汉字“大大”为例,国标码为为例,国标码为34 73H34 73H,二进制:二进制:0 0011 0100 011 0100 0 0111 0011 11
49、1 0011 国标码国标码 二进制:二进制:1 1011 0100 011 0100 1 1111 0011 111 0011 机内码机内码 B 4 F 3B 4 F 3 34 73H 34 73H80 80H80 80HB4 F3HB4 F3H,得到机内码为,得到机内码为B4F3HB4F3H 国标码转换为机内码:国标码转换为机内码:国标码国标码+8080H=+8080H=机内码机内码(3)汉字机内码)汉字机内码第五十四页,本课件共有68页 汉字 区位码 国标码 汉字机内码 大 2083 3473(00110100 01110011)B (10110100 11110011)B 工 2504
50、1904(00011001 00000100)B (10011001 10000100)B 计算机处理字符数据时,当遇到最高位为计算机处理字符数据时,当遇到最高位为1 1的字节,便将该的字节,便将该字节连同其后续最高位为字节连同其后续最高位为1 1的另一个字节看做一个汉字;的另一个字节看做一个汉字;当遇到最高位为当遇到最高位为0 0时,则可看做一个时,则可看做一个ASCIIASCII码西文字符,这码西文字符,这样就实现了汉字、西文字符的共存和区分。样就实现了汉字、西文字符的共存和区分。第五十五页,本课件共有68页(4 4)汉字字形码)汉字字形码汉字的字形码通常有两种表示方式,即点阵和矢量表示方