收藏 分享(赏)

第二章计算机信息表示与存储.ppt

上传人:11xg27ws 文档编号:8222862 上传时间:2019-06-15 格式:PPT 页数:43 大小:721KB
下载 相关 举报
第二章计算机信息表示与存储.ppt_第1页
第1页 / 共43页
第二章计算机信息表示与存储.ppt_第2页
第2页 / 共43页
第二章计算机信息表示与存储.ppt_第3页
第3页 / 共43页
第二章计算机信息表示与存储.ppt_第4页
第4页 / 共43页
第二章计算机信息表示与存储.ppt_第5页
第5页 / 共43页
点击查看更多>>
资源描述

1、2019/6/15,1,21世纪高等院校计算机基础课程系列教材,大学计算机基础 (第一版),2019/6/15,2,本章教学计划 理论教学(课堂教学):2学时 实验教学(上机实习):0学时 本章教学重点1. 数制及相互转换2. 码制及编码3. 二进制运算4. 汉字信息处理,第2章 计算机信息的表示与存储,2019/6/15,3,2.1 进位计数制 2.2 数值编码 2.3 字符的编码,第2章 计算机信息的表示与存储,2019/6/15,4,计算机只认识二进制编码形式的指令,因此字符、数字、声音、图像等信息都必须经过某种方式转换成二进制的形式,才能提供给计算机进行处理。在机器内部,信息的表示依赖

2、于机器硬件电路的状态,信息采用什么样的表示形式,直接影响到计算机的质量与性能。采用二进制是由于这种编码方式在物理上实现容易,二进制仅有两个状态0与1,这正好与物理器件的两种状态相对应,如门电路的导通与截止、电压信号的高与低,如采用十进制,则电路需要用十种状态来描述,这必然使得电路十分复杂,处理起来十分困难。采用二进制使得物理机器可靠性高,由于仅有二种状态,那么用电压的高低或电流的有无来描述都是用质的变化来表示的,两种状态分明,处理起来简单,并且抗干扰能力强,鉴别信息的可靠性高。采用二进制编码不仅成功的运用于数值信息编码,而且适用于各种非数值信息的数字编码。特别是二进制数的两个符号0和1,正好与

3、逻辑命题两个值“真”与“假”相对应,从而也为计算机实现逻辑判断提供了方便。,前言 信息在计算机内的表示,2019/6/15,5,2.1.1 不同数制的表示 * 数制在数值计算中,一般采用的是进位计数,日常生活中我们采用的是十进位计数,而在计算机内处理信息采用二进位计数。在进位计数的数字系统中,如果只用R个基本符号(如0,1,2R)来表示数值,则称其为“基R数制”。R称为该数制的“基数”,而数值中每一固定位置对应的单位称为“权”。如十进制数,就是R=10,即基本符号为0,1,28,9。如取R=2,即基本符号为0,1,则为二进制数。进位计数的编码符合“逢R进位” 的规则。各位的权是以R为底的幂,一

4、个数可按权展开成多项式。,2.1 进位计数制,2019/6/15,6,2.1 进位计数制,2019/6/15,7,2.1.2 不同数制的转换,2.1 进位计数制,(1)R进制转换为十进制基数为R的数字,只要将各位数字与它的权相乘,然后将其按“逢十进一”相加,其和就是一个十进制数。,2019/6/15,8,()十进制转换成R进制将十进制转换成R进制时,将整数部分和小数部分分别转换,然后再将整数部分与小数部分转换的结果相加起来。这里主要介绍十进制转换成二进制。,2.1 进位计数制,2019/6/15,9,()十进制转换成R进制十进制小数转换成R进制时,可连续地乘以R,直到小数部分为0,或达到所要求

5、的精度为止(小数部分可能永远不为0)得到的整数即组成R进制的小数部分,此法称“乘R取整”。,2.1 进位计数制,2019/6/15,10,2.1.2 不同数制的转换 (3)二、八、十六进制的相互转换由于二位,八位,十六位这三种进制数的权之间有一定的内在联系,即23 =8、24 =16,故其之间的转换比较容易。即每一位八进制数相当于三位二进制数,每一位十六进制数相当于四位二进制数。在由二进制转换为八进制时,以小数点为中心向左右两边延伸,每三位为一组,中间的0不省,到了两头不够一组时用0补足位数,算出每一组相对应的十进制数,然后将这些十进制数组合起来就成了一个八进制数。例:将(11101.0010

6、1)2转换成八进制数。,2.1 进位计数制,2019/6/15,11,2.1.2 不同数制的转换 (3)二、八、十六进制的相互转换,2.1 进位计数制,2019/6/15,12,2.1 进位计数制,2.1.3 计算机运算基础 一、 算术运算基础计算机内部的运行采用的是二进制数,其基本的运行就是算术运算与逻辑运算。二进制数的算术运算与十进制数的算术运算一样,也包括加、减、乘、除四则运算1) 二进制的加法运算 二进制数的加法运算法则是:1+1=0 (采用逢二进一的法则1+1=2则进位,本位为0)1+0=10+1=10+0=0,2019/6/15,13,2.1 进位计数制,一、 算术运算基础 2)二

7、进制的减法运算 二进制减法运算法则:0-0=0 1-1=01-0=10-1=1(被减数为0,减数为1,被减数向高位借位则本位余1),2019/6/15,14,2.1 进位计数制,一、 算术运算基础 3)二进制乘法 二进制乘法法则:00=010=001=011=1,2019/6/15,15,2.1 进位计数制,一、 算术运算基础 4)二进制的除法运算 二进制的除法运算法则:0/0=00/1=01/0=0(无意义)1/1=1,2019/6/15,16,2.1 进位计数制 2.2 数值编码 2.3 字符的编码,第2章 计算机信息的表示与存储,2019/6/15,17,在计算机内部,计算机仅“认识”两

8、个字“0”和“1”,无论是处理数据、发出控制指令、数据存放的地址、还是通信时传输的数据都是二进制数。同时计算机在进行数字计算、处理字母符号、汉字、图形、图像、声音都必须按一定的规则将其转换成二进制。这个规则就是编码。,2.2 数值编码,2019/6/15,18,在计算机内,各种信息都是以二进制码形式来描述、存储。存储就有量的大小,信息存储的单位就使用一些量来描述。 位(bit)位是度量数据的最小单位,表示一位二进制信息。 字节(byte)我们前面介绍的存储器的容量、硬盘的大小、内存的大小、光盘的容量等都是以多少字节来表示的,常用的单位有:B 1B = 8 bit KB KB=1024 Byte

9、 MB MB=1024 KBGB GB=1024 MBTB TB=1024 GB字节是计算机中用来表示存储空间大小的最基本的容量单位。,2.2 数值编码,2019/6/15,19,数据在计算机中的表示 (1)数值数值有大小及符号(正数,负数)。数在计算机的表示统称为机器数。 数的符号数值化:通常把一个数的二进制代码的最高位定义为符号位,最高位为“0”表示该数为正数,最高位为“1”表示该数为负数,这一位称为数符,其余位表示该数的绝对值。若一个数为八位,则最高位为数符,其余7位才表示该数的值。 定点数:用来表示整数和纯小数,因此小数点约定在一个固定的位置上,不再占用一个数位。 机器数的表示范围受到

10、字长和数据类型的限制,例如,若表示一个整数,字长为8位,最大值为127,若数值超过127,就要“溢出”。为了表示较大的或较小的数,计算机采用浮点来表示,其中小数点在数中的位置是浮动的。,2.2 数值编码,2019/6/15,20,2.2.1 带符号数的表示方式从上面描述的机器数知道,机器数由数符和真值数两部分组成,机器数在参加运算时,若数符与真值数同时参加运算,则会产生错误的结果,同时还要考虑计算后的符号问题。因此直接用机器数参与运算,则增加计算机计算的难度。如+7加上-5应为+2,但如果直接用二进制数的加法运算:00000111 +7机器数+ 10000101 -5机器数10001100 -

11、12机器数如果不直接相加,就要考虑符号位的处理,则运算会变得复杂。为了解决这类问题,在机器数中,负数有三种表示法:原码、反码、补码!,2.2 数值编码,2019/6/15,21,2.2.1 带符号数的表示方式下面介绍原码、反码、补码。为简单起见,这儿以整数为例,并且假定字长为8位。原码:整数X的原码,其符号位“0”表示正、“1”表示负,其数值部分就是X绝对值的二进制表示.通常用X原表示X的原码. 如:+2原=00000010-2原=10000010 在原码中0有两种表示:+0原=00000000-0原=10000000原码表示有三个主要特点:一是直观,与真值转换很方便;二是进行乘、除运算方便;

12、三是加、减运算比较麻烦。,2.2 数值编码,2019/6/15,22,反码:整数X的反码指:对于正数,其反码与原码相同,对于负数,符号位为1,其数值位X按位取反,通常用X反表示X的反码。 例: +2反=00000010 -2反=11111101 0的反码有两种表示:+0反=00000000 -0反=11111111+127反=01111111-127反=10000000,2.2 数值编码,2019/6/15,23,补码:补码的引进和定义补码的编码规则如下:定义正数的补码就是它本身,符号位取0,即和原码相同。负数的补码通过在其对应的反码最低位加1得到。+5补=+5反=+5原=00000101 -

13、5原=10000101-5反=11111010-5补=111110110的补码如下所示:+0补= -0补= 00000000,2.2 数值编码,2019/6/15,24,补码的性质:补码的性质主要有三条: X+Y补X补Y补,即两数之和的补码等于各自补码的和。 X-Y补X补-Y补,即两数之差的补码等于被减数的补码与减数相反数的补码之和。 X补补X原,即按求补的方法,对X补再求一次,结果等于X原。利用补码进行加、减运算:引进补码的目的是方便带符号数的加、减运算,这里仅看一下加法,举几个例子。,2.2 数值编码,2019/6/15,25,请注意:符号也参与运算,符号位出现的进位应丢弃。下面是三个利用

14、补码求和的例子。这里假定机器数为8位。(1) 两个正数相加x=(0111101)2 y=(0100001)2(x)补= 00111101 (y)补=00100001(x)补+(y)补= 00111101+ 00100001=01011110(x+y)补=01011110= (x)补+(y)补(2) 两个负数相加x=(-0111101)2 y=(-0100001)2(x)补= 11000011 (y)补=11011111(x)补+(y)补= 11000011 + 11011111 =10100010(x+y)补=(-1011110)补=10100010=(x)补+(y)补,2.2 数值编码,20

15、19/6/15,26,(3) 正数x和负数y相加:x=(3D)H=(0111101)2 y =(-21)H=(-0100001)2(x)补= 00111101 (y)补=11011111(x)补+(y)补= 00111101 + 11011111 =00011100(x+y)补=(0011100)补=00011100=(x)补+(y)补,2.2 数值编码,2019/6/15,27,综上所述: 原码定点整数的表示范围为:-(2n-1)(2n-1) 补码定点整数的表示范围为:-2n (2n-1)若机器字长有8位,则: 原码定点整数表示范围为:-127127 补码定点整数表示范围为:-128127,

16、01111111,01111111,01111111,10000000,10000000,10000000,3 数的定点表示与浮点表示,01111111,01111111,01111111,11111111,11111111,11111111,2019/6/15,28,2.2 数值编码,溢出:当运算的结果超出某种数据类型所表示的数的范围时,机器不能正确表示,这时要产生溢出。在溢出的情况下,机器将产生错误的结果。例如,1000001(65),1100000(96),求+。按上面补码加法做,会得到和的补码01011111,符号位为0,结果为一个正数。这显然是错误的。究其原因,这两个数的和为161,

17、已超过了8位数据补码表示的范围,出现溢出,因而导致了错误。避免溢出的一种有效方法是加宽数据的位数。现代计算机的数据表示有多种类型。8位机的数据可以是8位,也可以是16位;16位机的数据可以是8位、16位、32位;32位机的数据可以是8位、16位、32位、64位等。,2019/6/15,29,2.1 进位计数制 2.2 数值编码 2.3 字符的编码,第2章 计算机信息的表示与存储,2019/6/15,30,* 字符编码计算机需要处理的数据不仅包括数值数据,而且还要处理大量非数值的符号数据。这些非数值的符号数据必须通过某种编码形式用二进制位0和1来表示,才能让计算机对其进行处理。这些文字信息的符号

18、包括了西文字符(字母、数字、各种符号)和中文字符。,2.3 字符的编码,2019/6/15,31,2.3.1 ASCII码前面介绍了数值数据的编码,这解决了计算机表示数值信息的问题,除了数值数据外,计算机还面临要处理的就是字符、特别是英文字符以及各种标点符号、运算符等。这些都要转换成二进制编码后才能在计算机内部进行处理,目前国际上通用的西文字符编码就是所谓的ASCII码(American Standard Code for Information Interchange美国国家信息交换代码)。,2.3 字符的编码,2019/6/15,32,2.3 字符的编码,2019/6/15,33,2.3.

19、2 汉字的编码汉字是一种象形文字,它的“意”都寓于其“形”和“音”中。如果直接向计算机输入文字和语音虽然可以实现,但远不理想,况且输入装置要做修改。而在计算机内部直接处理、存储文字的字形和语音就更加困难。故处理字符要进行代码化,西文拼音文字代码化比较容易,而汉字由于种类繁多,其编码比拼音文字难得多。汉字信息处理系统在处理汉字和词语时,要进行一系列的汉字代码转换。通过键盘或其他的输入工具输入汉字时,要按一定的编码来进行,这称之为输入码,而在计算机内部存储、处理、传输汉字用的代码称为机内码。而要将汉字输出,用打印机或显示器输出应有一个字形码。,2.3 字符的编码,2019/6/15,34,(1)

20、输入码目前使用得最多的输入设备就是西文标准键盘, 这种键盘的设计沿用了西文打字机的排列。因而,西文的输入十分方便,想输入什么字符就按什么键。中文输入为了能直接使用西文字符标准键盘,就不可能直接按某键了。中文的字数繁多,字形复杂,字音多变。常用的汉字就有7000多个左右,因此要对汉字设计相应的编码,以便操作人员从键盘上输入代表汉字的编码。这些编码由拉丁字母(如汉语拼音)、数字(区位码)、或特殊符号(五笔字形)构成,千变万化。各种输入方案就是以不同的符号系统来代表汉字进行输入的。目前使用得比较多有区位码、五笔字形码、拼音码、自然码、和智能ABC。汉字的编码主要分为三类,数字编码,拼音,字形码。,2

21、.3 字符的编码,2019/6/15,35,(2) 机内码机内码是计算机设备内部对信息进行处理、内部存储、传输所用的代码。世界各大计算机公司一般均以ASCII码为内部码来设计计算机系统,西文计算机中没有交换码与机内码之分。而汉字数量多,用一个字节无法区分,一般用个字节来存放汉字的编码。两个字节共16位,可以表示21665536个可区别的码,如果两个字节各用位,则可表示21416384个可区别的码。一个码代表一个汉字。一般来说,这已够用了,现在我国的汉字信息系统一般都采用这种与ASCII 码相应的位码方案,用个位构成一个汉字机内码。,2.3 字符的编码,2019/6/15,36,(2) 机内码1

22、981年我国颁布了通用汉字字符集(基本集)及其交换码标准(国家标准代号为GB2312-80)。这是汉字交换码的国家标准,所以又称“国标码“。该标准收入了6763个常用汉字(其中一级汉字3735个,二级汉字3008个),以及英、俄、日文字与其它符号687个,共有7000多个符号。国标码规定每个字符由一个字节代码组成。每个字节的最高位恒为“”,其余位用于组成各种不同的码值。两个字节的代码,共可表示12812816384个符号,而国标码的基本集目前仅有7000多个符号,所以足够使用。计算机既要处理汉字,也要处理西文。为了实现中、西文兼容,通常利用字节的最高位来区分某个码值是代表汉字或ASCII 码字

23、符。具体的作法是,若最高位为“”视为汉字符,最高位为“”视为ASCII码字符。所以汉字的机内码就在上述的国标码的基础上,把个字节的最高位一律由“改为“”而构成。,2.3 字符的编码,2019/6/15,37,(2) 机内码机内码是供计算机“识别”所用。而输入码是供用户通过输入装置输入时所用的编码。如用某种编码通过键盘输入的汉字,键盘管理程序将其转换为机内码输入到计算机。供计算机处理,如图1.7所示。为了统一地表示世界各国的文字,1993年国际标准化组织公布了“通用多八位编码字符集”的国际标准ISO/IEC10646。简称UCS(Universal Code Set),USC中包含了中、日、韩等

24、国文字,这一标准为包括汉字在内的各种正在使用的文字,规定了统一的编码方案。该标准是用个位码(四个字节)来表示一个字符。我国相应的国家标准为GB13000。,2.3 字符的编码,2019/6/15,38,(3) 汉字字型码在汉字输出时用显示器显示,用打印机打印,这就需要用到汉字字型码。汉字字型码是汉字字型的字模数据。通常用点阵、矢量函数等方式来表示,用点阵表示字型时,汉字字型码就是这个汉字字型点阵的代码。字型码也称字模码,是用点阵表示的汉字字形代码,它是汉字的输出形式,根据输出汉字要求不同,点阵的多少也不同。通常汉字显示用1616点阵,汉字打印可选用2424、3232、4848等点阵,点数越多,

25、打印的字体越美观。但汉字库占用的存储空间也越大。如一个2424的汉字占用空间为72B,而4848的汉字将占用486288B。,2.3 字符的编码,2019/6/15,39,无论是西文字符或者是中文字符,在机内一律使用二进制编码来表示,而汉字的数量极大,西文字母少。所以西文字符用一个字节来表示就足够,而汉字只得采用双字节来编码。又因中文与西文在同一台计算机中使用一个存储器,导致机内码不同于国标码。两者又共用一个键盘,使得汉字不得不实行编码输入。汉字库占用的空间远比西文字库大,因此汉字的处理较西文处理需要更多的时间与空间。,2.3 字符的编码,2019/6/15,40,2.3.3 BCD码BCD码

26、就是十进制数转换成二进制数所使用的一种编码方式。在日常生活、工作中,人们习惯于十进制,而计算机只认识二进制,所以在计算机输入与输出时,使用了一种称之为BCD码的编码方法,将十进制数转换成计算机能识别的二进制数或将二进制数转换成人们习惯的十进制。BCD码(Binary Coded Decimal二进制编码的十进制数) 也称8421码,10个十进制数字对应的BCD码见表1.2所示,BCD码在形式上是由1和0组成的二进制数的形式,实质上它表示的是十进制数,它的计算方式是用4位二进制数来表示十进制数的每一位。,2.3 字符的编码,2019/6/15,41,2.3 字符的编码,2019/6/15,42,2.3.3 BCD码 例如:01100101如果将之看成为一个二进制数,则对应的十进制数为;(01100101)20271261250240231220211200643200401(101)10但如果将其理解为一组BCD码的二进制数,则对应的十进制数为;(0110 0101)2(65)10 6 5即BCD码的二进制数每四位对应一个十进制数字来组成一个十进制数。,2.3 字符的编码,2019/6/15,43,下 课,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报