大学《计算机基础》课件-第2章信息编码与数据表示_第1页
大学《计算机基础》课件-第2章信息编码与数据表示_第2页
大学《计算机基础》课件-第2章信息编码与数据表示_第3页
大学《计算机基础》课件-第2章信息编码与数据表示_第4页
大学《计算机基础》课件-第2章信息编码与数据表示_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

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

文档简介

1、第2章 信息编码与数据表示北京xx大学计算机基础信息的编码计算机只能存储和处理二进制数表示的数据现实世界中不同类型的数据:数值、字符、汉字、图像、音频、视频将一般形式的数据信息转换为二进制代码形式的过程称为信息的编码,反之称为解码不同类型的数据信息的编码方法不同必须进行数字化!图示 3/47 编码处理解码处理原始数据形式不同类型数据主要内容常用数制及其相互转换二进制数的运算数值数据在计算机中的表示西文字符编码中文信息编码数制的意义按进位的原则进行计数称为进位计数制,简称“数制”数制的三要素及意义进位基数:逢N进一数码:使用那些字符表示数位权:一个数字在某个固定位置时的值基数位权数码678.34

2、=6102+7101+8100 +310-1+410-2常用数制计算机技术中常用的数制十进制数(Decimal)二进制数(Binary)八进制数(Octal)十六进制数(Hexadecimal)常用数制的基本要素和表示方法数制基数进位规则位权数 码表示十进制10逢十进一10i0,1,2,3,4,5,6,7,8,9D二进制2逢二进一2i0,1B八进制8逢八进一8i0,1,2,3,4,5,6,7O十六进制16逢十六进一16i0,1,2,8,9,A,B,C,D,E,FH数的展开式数的按权展开: Nn-1Nn-2N1N0.N-1N-m K进制数Ni表示第i位上的数码;Ki表示该数码的位权;K是基数 数

3、的按权展开式基数位权数码678.34=6102+7101+8100 +310-1+410-2小数点左边:从右向左,每一位对应权值分别为100、101、102小数点右边:从左向右,每一位对应的权值分别为10-1、10-210101.01=124+023+122+021+120+02-1+12-2小数点左边:从右向左,每一位对应的权值分别为20、21、22、23、24小数点右边:从左向右,每一位对应的权值分别为2-1、2-2十进制数的特点(D)数码:0-9进位基数:逢十进一的进位原则,进位基数是10位权:各数位的“权”是以10为底的幂123456.123 1*105 +2*104 +3*103 +

4、4*102 +5*101+6*100 +1*101 +2*102 +3*103二进制数的特点(B) 数码:0和1 进位基数:逢2进1,进位基数是2 位权:各数位的“权”是以2为底的幂 例如: (10110.1)2可表示为 10110.1B 12 4 02 3 12 2 +12 1 02 0 12-1 = 22.5二进制的位权值第N位N位的数权值第N位N位的数权值01712812825624951238101024 1K416201M532301G664401T例:n位二进制数表示范围是多大?十六进制数的特点(H)采用十六个不同的记数符号,即数码:09及A-F A表示十进制数10,B表示11,C

5、表示12,D表示13,E表示14,F表示15 采用逢十六进一的进位原则,进位基数是16 各位数的“权”是以16为底数的幂 例如: 可表示为 2AF.B2H (2AF.B2)16 216 2A16 1F16 0 + B16 -1216 -2 八进制数的特点(O) 采用八个不同的记数符号,即数码:07 采用逢八进一的进位原则。进位基数是8 各位数的“权”是以8为底数的幂 例如: (456.45)8 48 258 168 048-1582 可表示为 456.45O ? 4567.8O不同进制数值对照表最少几位二进制数可以表示1位十六进制数码?八进制数码呢?数制之间的转换计算机采用二进制日常生活中习惯

6、使用十进制常用八、十六进制用来书写数据、指令 转换是必然的转换的过程完全由计算机自行完成二、八、十六 十【按权展开】十 二二 、八、十六相互转换 例:将(83)10转换成二进制数由于是整数,用除2取余法,即用整数部分不断去除2,并记下每次的余数,直到商为0为止。余数从下至上即为转换结果。(83)10=(1010011)22 83 12 41 12 20 0 2 10 0 2 5 12 2 02 1 1 0 余数 例:将十进制数0.625转换为二进制数 纯小数:乘2取整法 用小数部分连续与 2 相乘,并记下乘积的整数部分,直到结果小数部分为 0 ,或精度达到要求为止。所得整数部分从上至下即为转换

7、结果。(0.8125)10=(0.1101)2 0. 8125 整数 2 1. 6250 1 2 1. 250 1 2 0. 50 0 2 1. 0 1 例: 将0.335转换为二进制小数(精确到0.001) 0.335 2 0.670 2 1.34 2 0.68 2 1.36 (0.335)10= (0.0101)2 (0.011)22、16、8相互转换的例11011.01101B16进制:0001 1011.0110 1000 1 B . 6 8 H8进制:011 011.011 010 3 3 . 3 2 O2、16、8相互转换的例7AF.14H 0111 1010 1111.0001

8、0100B 3657.05O 11 110 101 111.000 101B 数值转换十进制数二进制数八进制数十六进制数整数:除2逆向取余小数:乘2取整按权展开相加三位幷一位一位拆三位四位幷一位一位拆四位按权展开相加按权展开相加主要内容常用数制及其相互转换二进制数的运算数值数据在计算机中的表示西文字符编码中文信息编码 二进制数的运算规则算术运算加0+0=0 1+0=0+1=1 1+1=10(有进位)减0-0=0 1-0=1 1-1=0 0-1=-11(有借位)乘0*0=0*1=1*0=0 1*1=1除0/1=0 1/1=1逻辑运算与00=0 01=0 10=0 11=1或00=0 01=1 1

9、0=1 11=1非非0为1 非1为0无进位无借位二进制数算术运算举例例1: 101. 01 +110. 01 1011. 10 例2: 101. 111 + 11. 011 1001. 010 要点:小数点对齐逢二进一要考虑进位问题例3: 1101 - 1011 0010 二进制数算术运算举例1 0 1 1例:计算100100011011 1 0 0 1 0 0 0 11 0 1 11 1 1 011 0 1 11 1 0 11 0 1 11 00110 0 0 0例:计算11011001 1 1 0 1 1 0 0 11 1 0 10 0 0 01 1 0 1+1 1 1 0 1 0 1二进

10、制数逻辑运算举例例如:a = 1100,b = 0110 进行运算:ab、ab、 a 1100 1100 1100 0110 0110 逻辑非为: 1110 0100 0011要点:逻辑运算按位进行,不同位之间不存在任何联系,不象算术运算中位之间可能有进位或借位。主要内容常用数制及其相互转换二进制数的运算数值数据在计算机中的表示西文字符编码中文信息编码数值数据在计算机中的表示现实世界中的数值型数据:128,3.14,-67在计算机中表示和处理数值涉及两个问题:正数与负数小数点数值在计算机中的表示形式原码、反码、补码定点数、浮点数表示法机器数与真值在计算机中,数值的正号和负号也是用二进制数码来表

11、示的通常把一个数的最高位定义为符号位,用0表示正,1表示负,称为数符。其余位表示数值 (0000 1011)2(11)10在机器内存放的正、负号数码化的数称为机器数把机器外部由“+”、“-”号表示的数称为真值 (1000 1011)2(11)10 机器数 真值机器数的问题讨论直接使用机器数进行运算时,会遇到问题同号数值相减异号数值相加例: (+36)+(-45) 0 0100100 +) 1 0101101 1 1010001 结果是 (-81) -这个结果显然是错误的! 机器数有三种编码方法:原码、反码和补码,以解决计算中出现的符号问题原码、反码与补码正数:原码、反码、补码相同。 符号位为0

12、,数值位为对应的二进制数。 例如:109 109原 = 109反 = 109补= 01101101负数:原码:符号位为1,数值位为绝对值的二进制数 (即机器数) 例:-109原= 11101101反码:将原码除符号位外,逐位取反。 例:-109反= 10010010补码:将反码末位加1。 例:-109补= 10010011原码、反码与补码原码、反码和补码之间的转换图示 X反 数值位 X真值 X原 数值位 X补数值位不变+,0,1符号位不变符号位不变不变 (符号位为0)取反加1(符号位为1)不变 (符号位为0)取反 (符号位为1)原码反码补码举例(以8位字长为例)N位2进制数的表示范围:原码?反

13、码?补码?补码运算在微型计算机中,一般使用补码表示带符号数使用补码:能将减法一律转换为加法符号位和数值位一样参与运算运算结果也是补码的形式;然后再将补码形式的结果转换为原码,即为所求一个数补码的补码是它的原码,即 X补补=X原简化了运算,也简化了机器的结构补码运算规则: X+Y补 = X补+Y补 X-Y补 = X补+-Y补使用补码,使减法变加法 例:用补码运算5-3的值。 5 3 = 5 + (-3) 5补=0101 -3补=1101 符号位的进位自动丢掉即: 5-3补=0010 谁的补码是0010?370101110110010+2补码运算举例73 127 = 73 + (-127) =(0

14、1001001)补 +(10000001)补 =(11001010)补 =(10110110)原 = - (25 + 24 + 22 + 21)10 = -54例:补码转换为原码补码的特性:补码的补码是原码, X补补=X原再次求补原码正数负数例:(11001010)补 =(10110110)原 = -(25+24+22+21)10=-54数的定点表示与浮点表示对小数点来说,重要的不是小数点本身,而是它的位置。小数点在计算机中通常有两种表示方法:约定所有数值数据的小数点隐含在某一个固定的位置上,称为定点表示法,简称定点数;小数点位置可以浮动,称为浮点表示法,简称浮点数。在计算机中存储整数一般采用

15、定点数表示法;实数一般有定点数和浮点数这两种表示方式。由于定点数表示的实数范围太窄,因此实数通常采用浮点数表示。定点数包括定点整数和定点小数两类。定点整数 小数点隐含固定在数值的最右端定点整数存储格式例:机器字长为16位,符号位占1位,数值部分占15位, 十进制数+32767的定点数表示如下:只能存储纯整数数符Sf尾数S (隐含小数点) . 定点数定点小数 小数点隐含固定在数值位之前、符号位之后定点小数存储格式只能存储纯小数例如0110B-+0.11B定点小数表示法的表示范围小,主要用在早期的计算机中 数符Sf.(隐含小数点) 尾数S 数的定点表示与浮点表示浮点表示:表示带小数点的实型数任何实

16、数可以表示为:N = S2P 其中,S是N的有效数字部分,称为N的尾数,尾数为纯小数(原码);P是指数,称为N的阶码,阶码为整数(补码)。 数的小数点的实际位置由P确定,所以称为浮点表示法,表示的数称为浮点数例如,数1101.101B可表示为 N = 1101.101B = +0.1101101B2+4浮点表示法浮点数在计算机中的存储格式为在计算机中一般用4B存储一个单精度实型数,其中1B存储阶码,3B存储尾数例:浮点数N = 1101.101 = +0.11011012+4的存储格式 阶码P数符Sf尾数S313029282726252423220000001000110110100阶码部分(

17、补码定点整数)数符尾数部分(原码定点小数)数的表示范围及溢出 无论是有符号数还是无符号数,当其运算结果超出了计算机所能表示的范围,就会产生不正确的结果,称之为溢出 n位二进制位表示数的范围 可以通过扩大数的表示范围防止溢出 有符号数(补码) 无符号数 n=8-128 +127 0 255 n=16-32 768 +32 767 0 65 535 n-2n-1 +2n-1-1 0 2n-1 浮点数的表示范围单精度浮点数(4字节)表示数的范围是:-2128(2-2-23) N2128(2-2-23)大约是-3.410383.41038双精度浮点数(8字节)表示数的范围是: -1.7103081.7

18、10308同样的字长,浮点表示法比定点表示法表示的数的范围大、精度高。浮点运算时可以不考虑溢出,但运算复杂。主要内容常用数制及其相互转换二进制数的运算数值数据在计算机中的表示西文字符编码中文信息编码信息编码的概念所谓信息编码,就是采用少量基本符号(数码)和一定的组合规则来区别和表示信息例:用09的组合表示数值用09的组合表示身份证号、学号用26个英文字母的不同组合表示英文单词。信息编码的概念例:某大学学生学号规定用7位十进制数进行编码,其格式为:前两位表示入学年份,接着的两位表示专业号,后三位表示学生在某专业中的序号。如某学生学号为:10 01 099,则表示该学生2010年入学,专业编号为0

19、1,在本专业中的序号为99该学校最多可以设置多少个专业?每个专业最多可以招多少个学生? 学号编码1001099是一个代码,用来唯一地表示一个学生,没有值的概念学号编码规则应该成为学校的一个标准,供校内共同遵守信息编码的概念编码的主要特征: 唯一性:每一种组合都有确定的唯一性的含义 公共性:所有相关者都认同、遵守、使用这种编码 易于记忆/便于识认性:有一定规律计算机中数值数据的各种编码带符号数的编码方法:原码、反码和补码整数和实数的编码方法:定点和浮点表示法都具有值的含义,可以在计算机中进行运算 非数值数据的编码西文字符编码和中文字符编码(西文)字符编码常用西文字符:英文字母、数字字符、标点符号

20、、控制字符等,共128个字符 在计算机中,要为每个字符指定一个二进制代码,作为识别与使用这些字符的依据由于编码是一个涉及世界范围内有关信息表示、交换、处理、存储的基本问题,因此都以国家标准或国际标准的形式颁布施行字符编码有多种,应用最广泛的是ASCII码ASCIIAmerican Standard Code For Information Interchange ASCII,美国标准信息交换码这一编码最初是由美国制订的,后来由国际标准化组织(ISO)确定为国际标准字符编码为了和国际标准兼容,我国根据它制定了相应的国家标准,即 GB1988ASCII码的编码规则用1个字节( 8位二进制数 )表示

21、1个字符的编码0余下的7位可给出128个二进制编码即0000 0000-0111 1111可以表示128个字符最高位取“0”ASCII码的编码规则在计算机内,每个字符的ASCII码用1个字节( 8位)来存放,字节的最高位( d7)补0来填充,后7位(d6d5d4d3d2d1d0)为编码值 27=128个7位编码的ASCII码字符集包括了128个字符,称为标准的ASCII码字符集ASCII码表编码字符第0到31 控制字符(32个)第48到5709的10个数字符号第65到9026个英语大写字母 第97到12226个英语小写字母 其余 标点符号、运算符号等 第127 控制字符(1个)高四位低四位A为

22、(0100 0001)2=65ASCII码高四位低四位Computer:01000011 01101111 01101101 01110000 01110101 01110100 01100101 01110010A: 01000001 41H 65 a: 01100001 61H 97 : 00100000 20H 320: 00110000 30H 48例已知字符“X”的ASCII码为 0101 1000求字符 ”s” 的ASCII码0101 1000 的10进制数为88(64+16+8)88+32-5=115转换为2进制数为 0111 0011主要内容常用数制及其相互转换二进制数的运算数

23、值数据在计算机中的表示西文字符编码中文信息编码2.3.3 汉字信息的编码计算机中汉字的表示也是用二进制编码,同样是人为编码的。汉字进入计算机的问题: (1)数量庞大 (2)字形复杂 (3)大量一音多字和一字多音因此根据应用目的不同,汉字在不同的处理阶段会有不同的编码,如在输入时有输入码、进入计算机内表示处理时有国标码、机内码,输出时有字形码。60 汉字编码包括:信息交换码(国标码)区位码内码输入码和输出码输入码国标码内码字形码汉字输入汉字输出各种代码之间的关系汉字的二进制编码常用汉字约有5000个,用ASCII码不能完整表示汉字汉字及汉字字符的编码由国家定义,以GB强制性发布执行汉字的二进制编

24、码规则用两个字节表示一个汉字字符,可定义255*255个汉字或汉字字符考虑到与ASCII码的兼容和统一、留出控制字符等因素每个字节的最高位取0预留出0到32号和127号的控制字符(共34个)确定字节的有效取值为 33126(对应的十六进制数为21H7EH)可“独立”表示 94*94=8836 个汉字字符00216=65536, 214=16384图示94行94列国标GB-2312-80称为信息交换码;又称为国标码共收录7445个汉字及图形符号: 一般符号: 202个; 序列号: 60个 数字: 22个;英文字母52个、日文假名169个 希腊字母48个、俄文字母66个 汉字6763个:一级汉字字

25、符3755(以汉语拼音索引)二级汉字字符3008(以偏旁部首索引)高八位低八位与ASCII码兼容的控制字符区信息交换码/国标码3021H区位码汉字国标码实际上是一个128128的二维字符集,编码规则是用两个字节即16个二进制位进行编码的,其中一个字节表示行号,一个字节表示列号,将行号和列号组合起来就构成了汉字国标码区位码:以有效编码范围9494的二维表为基础,用两位十进制数对行号进行编码,用另两位十进制数对列号进行编码,将行号和列号组合起来就构成了用4位十进制数编码的汉字区位码。区号就是行号,位号就是列号如:汉字“啊”在编码表中第16行、第1 列,区位码就是1601。区号和位号的范围都是从19

26、4。区位码可以作为一种输入码 国标码:3021H区位码:1601思考:一个汉字的国标码和区位码如何转换?国标码 = 区位码 - 2020H区位码 = 国标码 + 2020H汉字内码为汉字及汉字字符编码的目的之一是在计算机中存储存储中产生混乱: “鞍”的信息交换码为 00110000 00110000 对应的16进制数为 3030H 字符0的ASCII码为 30H -易造成鞍与00的混乱!汉字字符在计算机内部存储的二进制形式代码成为“机内码”,也称“内码”将信息交换码两个字节的最高位取“1”汉字各编码方式间的关系内码与信息交换码的关系为: 信息交换码 = 内码 - 8080H 内码 = 信息交换码 + 8080H 将信息交换码的两字节分别减去20H或32,得到区位码信息交换码和内码用16进制数表示、区位码用10进制数表示汉字编码的例汉字“啊”:信息交换码:0011 0000 0010 0001;3021H区位码:1601 (30H-20H=48-32=16) (21H-20H=33-32=01)内码: 1011 0000 1010 0001;B0A1H (3021H + 8080H = B0A1H) 汉字输入码汉字由于数量大,字形复杂,字音多变 ,无法直接使用西文标准键盘进行输入 必须为汉字设计基于西文键盘的输入编码当用

温馨提示

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

评论

0/150

提交评论