《微机原理及接口技术教程》第2章:计算机中信息的表示_第1页
《微机原理及接口技术教程》第2章:计算机中信息的表示_第2页
《微机原理及接口技术教程》第2章:计算机中信息的表示_第3页
《微机原理及接口技术教程》第2章:计算机中信息的表示_第4页
《微机原理及接口技术教程》第2章:计算机中信息的表示_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第二章 计算机中信息的表示,(时间:3次课,6学时),学习目的与要求,作为一种电子设备,计算机内部存储和处理的都是二进制数据。通过本章的学习,了解和掌握计算机中信息表示和处理的基本知识,如数制的概念,数制之间的转换,二进制数的算术运算、逻辑运算,带符号数、定点数、浮点数的表示方法,以及字符和符号的编码等。使读者掌握计算机中数制的应用及相关操作,数的表示方法及字符的编码,为后面的学习奠定基础。,计算机中信息的表示,2.1 数制及数制转换 2.2 计算机中数的表示及运算 2.3 计算机中的信息编码 2.4 小结,2.1 数制及数制转换,2.1.1 数制的概念 2.1.2 常用数制介绍 2.1.3 数制转换,2.1.1 数制的概念,(1)逢R进一 R表示数制中需要的数码(数字字符)的总数,也称为基数。基数为R的数制称为R进制数。 (2) 位权表示法 位权,又简称为权。同一个数码处于不同位置则表示不同的值。通常把基数的某次幂称为位权,位权是指一个数码在某个固定位置上所代表的值,处在不同位置上的数码所代表的值是不同的,值的大小与其所处的位置有关。任何一种数制表示的数都可以写成按位权展开的多项式之和。,2.1.2 常用数制介绍,1. 二进制(Binary) 2. 八进制(Octal) 3. 十六进制(Hexadecimal) 注意:八进制数也可用O作为后缀,O为Octal的字头。但为了避免与0混淆,通常改写为Q表示。,计算机中各种常用数制与十进制的表示,2.1.3 数制转换,1. 非十进制数转换成十进制数 【例2.1】 2. 十进制数转换成非十进制 【例2.2】 3.二进制数与八进制、十六进制数的相互转换 (1)二进制转换成八进制、十六进制数 【例2.3】 (2)八进制、十六进制转换成二进制数 【例2.4】,注意:,二进制转换成八进制、十六进制数时,每三位、四位为一组,不足时必须用0补足,特别是小数部分;同理,八进制、十六进制数转换成二进制数时,每一位必须转换成三位、四位二进制数,除了整数的最高位、小数最低位外,其余的0都不可省略。,2.2 计算机中数的表示及运算,2.2.1 二进制数的使用 2.2.2 二进制数的运算 2.2.3 计算机中数的表示 2.2.4 计算机中数的运算,2.2.1 二进制数的使用,(1) 容易实现,便于表示。制造一个表示两种稳定状态的元器件要比制造一个表示多种稳定状态的元器件容易很多。例如,晶体管的导通和截止,电容的充电和放电,磁芯中的顺磁和逆磁,电路中的高电压与低电压、正脉冲与负脉冲等等。因此,通过使用这些元器件的两种状态来分别来表示二进制的0和1,则非常容易实现。 (2) 可靠性高,状态稳定。具有较强的抗干扰能力。 (3) 算术运算规则简单。由于二进制只有两个数码,因此基本的运算最多只在0和0、0和1、1和0、1和1之间进行,相对于其它进制而言,运算规则非常简单,电路实现也很容易。 (4) 便于逻辑运算。计算机中需要进行大量的逻辑运算,而参与逻辑运算只有两个量“真”和“假”,正好可以使用二进制数的1和0来表示及处理。,2.2.2 二进制数的运算,1. 算术运算 (1) 二进制加法 (2) 二进制减法 (3) 二进制乘法 (4) 二进制除法,2. 逻辑运算 (1) 逻辑加法(“或”运算) 逻辑加法通常使用符号“”、“”或“OR”来表示。逻辑加法有“或”的意义。也就是说,在给定的逻辑变量中A或B中,只要有一个值为1,则逻辑加的运算结果为1。 (2) 逻辑乘法(“与”运算) 逻辑乘法通常使用符号“”、“”、“”或“AND”来表示。逻辑乘法有“与”的意义。它表示只有当参与运算的两个逻辑变量同时取值为1时,逻辑乘法的运算结果才为1。 (3) 逻辑否定(“非”运算) 逻辑否定运算通常在逻辑变量上面加一横线表示,或使用“NOT”运算符号。逻辑否定运算又称逻辑非运算,即对逻辑变量进行求反的运算。逻辑否定运算是一个单目运算。 逻辑异或(“半加”运算) 逻辑异或运算通常使用符号“”或“XOR”表示。在逻辑异或运算中,仅当参与运算的两个逻辑变量的值相异时(即不同时为1或同时为0),运算结果为1。,【例2.5】已知逻辑变量A11011011,B10011100,分别求NOT A, A AND B,A OR B,A XOR B的运算结果,2.2.3 计算机中数的表示,1. 数的符号表示法 2. 原码、反码和补码 3. 原码、补码的转换 4. 定点数、浮点数的表示,1. 数的符号表示法,计算机中,通常使用双稳态原件的两个状态来表示二进制的数字0和1,因此,对于数的正、负符号,也可以进行数字化处理,分别使用一位二进制数字来表示。一般约定,用“0”表示正号“”,用1表示负号“”。对于这种连正、负号都数字化了的数称为机器数,即机器所能识别的数;而把这个数的本身,即用“”、“”号表示的数,称为真值。,2. 原码、反码和补码,计算机中为了表示和运算的方便,对带符号数有三种表示方法,分别是原码、反码和补码。 (1)原码表示法 规定如下: 在原码表示中,最高位表示数的符号,其余各位表示数值。符号位规定0表示正号,1表示负号。,设存储长度为8位,X112,则X原01110000; Y112,则Y原11110000; 可以看出,原码表示的优点是简单易懂。缺点则主要有:进行数学运算时,首先需要判断两个操作数的符号。例如,符号相异的两个操作数进行加法运算时,实际变成了两操作数绝对值的减法运算。 原码对于0的表示不惟一。0原00000000;0原10000000。,(2) 反码表示法 规定如下: 对于正数,反码的表示与原码的表示相同。 对于负数,符号位为1,其余由原码的数值部分按位取反。 对于0,两种表示方法,0反00000000;0反11111111。 设存储位数为8位,X103,则X原01100111;X反01100111; Y103则Y原11100111;Y反10011000。 可以看出,在反码中,0的表示也是不惟一的。,(3) 补码表示法 补码是计算机中带符号数的实用表示法。 规定如下: 对于正数,补码的表示与原码的表示相同。 对于负数,补码可由其反码的末尾加1获得,即负数的补码是对其原码除符号位之外各数值位求反并在末位加1而得到的。, 对于0,补码的表示是惟一的,0补00000000,0补00000000。 设存储位数为8位,X123,则X原01111011;X补01111011; Y123,则Y原11111011;Y补10000101。 补码表示中,不但0的表示是惟一的,而且在进行数学运算时,不需要事先进行符号位判断,而是让符号位与数值一起参与运算。因此,补码是计算机中最为实用的数的表示方法。,(4) 数的表示范围,对于长度为8位的二进制数,表示数值范围的情况如下: 作为无符号数时,其表示的数值范围为0255; 作为原码时,其表示的数值范围为127127,其中,127原11111111,127原01111111; 作为反码时,其表示的数值范围为127127,其中,127反10000000,127反01111111;, 作为补码时,其表示的数值范围为128127,其中,128补10000000,127补01111111; 可以得出,当存储位数为n时,无符号数的表示范围为0(2n1),原码和反码的表示范围为(2n11)(2n11),补码码的表示范围为2n1(2n11)。,3.原码、补码的转换,(1) 已知X原,求X补。 可根据补码的规则进行计算。 【例2.7】已知X原10101100,Y原01101111,求X补、Y补 解:X为负数,按以下步骤计算:,4.定点数、浮点数的表示,一般书写中,可以使用符号“.”表示小数点,但在计算机中,所有信息都必须使用二进制数表示,因此,为了确定小数点的位置,在计算机中采取的表示方法有:定点表示法和浮点表示法。,(1) 定点表示法,所谓定点表示法,即约定计算机中所有数的小数点位置是固定不变的。对于定点表示法,一般采用两种简单的约定:,(2) 浮点表示法,浮点表示法中,小数点的位置是不固定的、浮动的。为了使小数点的位置可以自由浮动,浮点数由两部分组成,即尾数部分与阶码部分。浮点数在机器中的表示形式如下:,其中,尾数部分表示浮点数的有效数字,是一个有符号的纯小数;阶码部分则指明了浮点数实际小数点的位置与尾数约定的小数点位置之间的位移量P(阶码)。P是一个有符号的整数,当阶码为P时,表示浮点数的实际小数点应为尾数中约定小数点向右移动P位;当阶码为P时,表示浮点数的实际小数点应为尾数中约定小数点左移动P位。,通常,任意一个二进制数总可以表示为一个纯小数和一个2的整数次幂的乘积。例如,任意二进制数N可以写成 其中S称为尾数,P称为阶码,S和P都采用二进制表示。,设二进制数N0.001101,可以表示成N0.1101210;其中尾数S(0.1101)2阶码P(10)2,浮点数的实际小数点应该为尾数中小数点向左移动(10)2位,即(0.001101)2。 设二进制数M101.01,可以表示成M0.10101211;其中尾数S(0.10101)2阶码P(11)2,所以浮点数的实际小数点应该为尾数中小数点向右移动(11)2位,即(101.01)2。,在浮点表示中,假设计算机中浮点数的阶码为m1位,尾数为n1位,则浮点数的取值范围为:,由此可见,浮点数表示的数值范围远远大于定点数表示的数值范围。浮点数中,尾数S表示浮点数的全部有效数字,采用的尾数越多,表示的数值精确度也越高;阶码P则指明了浮点数小数点的实际位置,采用的位数越多,可表示的数值范围就越大。,为了使计算机在运算过程中,尽量减少有效数字的丢失,提高运算精度,一般都采用规格化的浮点数。所谓规格化,就是指浮点数的尾数S的绝对值小于1且大于或等于1/2,即小数点后面的第一位数必须是“1”。例如 是一个规格化的浮点数,而 就不是一个规格化的浮点数,但实际N1和N2的值相等 与定点数相比,浮点数表示范围大,但运算复杂,实现设备多、成本高。计算机中采用浮点数还是定点数,必须根据实际要求来进行设计。通常,微型机或单片机多采用定点数制,而大型机、巨型机及高档型微机中多采用浮点数制。,2.2.4 计算机中数的运算,计算机中,带符号数一般采用补码表示。补码的运算特点是,符号位和数值部分一起参与运算,运算结果仍是补码。 1. 补码的加法运算 补码进行加法运算时,运算规则为补码的和等于和的补码, 即X补Y补XY补,2. 数的溢出,无论采用何种机器数,由于存储单元的位数是给定的,因此只要运算的结果超过了数值存储设备所能表示的数的范围,就会产生溢出。 溢出现象应该当作一种故障来处理,因为它使结果数发生错误。在加法运算中,可能产生溢出的情况是符号相同的两数相加,因为对符号相异的两数而言,和的绝对值是两数的绝对值之差,因而不可能产生溢出。,可得XY补01110101补,对应的二进制数为1110101,十进制数为117。显而易见,两个负数进行相加,其和却为正数,说明结果错误。进一步分析,8位二进制补码能够表示的数值范围为128127,而X的值为61,Y的为78,正确的求和结果应为139,已超出了8位二进制补码所能表示的范围,因而产生溢出,说明结果错误。,可得XY补10101101补,对应的二进制数为0101101,从符号位可以看出是一个负数。两个正数相加其结果却为负数,说明产生溢出,结果错误。 对于无符号数,由于所有的存储位均表示数值,所以当相加时产生进位,即说明结果已经超出了所能表示的范围,因而产生溢出。,补码进行减法运算时,运算规则为补码的差等于差的补码,即 X补Y补XY补 同时还可以推导出 X补Y补X补Y补XY补 即在补码运算中,可以把有符号数的减法运算转换为加法运算。其中,Y补可通过求补运算来进行。,3. 补码的减法运算,在以上运算中,最高位和次高位同时都产生了进位,因此不发生溢出。可得XY补10111011补,对应的二进制数为1000101,十进制数为69,结果正确。,以上使用减法进行运算,可得XY补10111011补,转换成十进制数为69结果正确。同加法运算一样,在减法运算中符号位也是直接参与运算。,2.3 计算机中的信息编码,计算机不但能够对数值型数据进行处理,还应该能够识别和处理各种非数值型数据,如各种字符和符号,包括英文字母、汉字、标点符号、运算符号等等。由于计算机中采用二进制,因此各种字符和符号都必须进行数字化处理,采用二进制数码的组合来表示,称为二进制编码。 1 ASCII码 2 BCD码 3 汉字编码,1. ASCII码表,2 BCD码,2.3.3 汉字编码,为了在计算机中能够进行汉字信息的处理,我国于1981年公布了信息交换用汉字编码字符集基本集,即国家标准GB2312,它是汉字处理系统的基础代码标准。汉字编码主要包括以下类型。 1. 汉字国标码与区位码 2. 汉字机内码 3. 汉字输入码 4. 汉字字形码 5. 汉字地址码,小 结,计算机作为一种电子设备,内部存储和处理的都是二进制数据。本章主要介绍了计算机中信息表示和处理的基本知识,包括数制的概念,数制之间的转换,二进制数的算术运算、逻

温馨提示

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

评论

0/150

提交评论