计算机基础知识学习.doc_第1页
计算机基础知识学习.doc_第2页
计算机基础知识学习.doc_第3页
计算机基础知识学习.doc_第4页
计算机基础知识学习.doc_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

2计算机基础知识学习2.1 计算机系统的组成与工作原理2.1.1 计算机系统的组成计算机系统由硬件系统和软件系统两部分组成,如图2.1所示。图2.1 计算机系统的组成1计算机硬件计算机硬件是看得见、摸得着的物体,是组成计算机系统的各种部件的总称。它是计算机系统快速、可靠、自动工作的物质基础。2计算机软件计算机软件就是在计算机中执行某种操作任务的程序以及有关文档的集合,是计算机的灵魂。3硬件、软件和用户的关系在计算机中,硬件和软件是不可缺少的两个部分。图2.2表明了计算机硬件、软件和用户三者之间的关系。计算机如果在没有安装任何软件,则称之为裸机。裸机使用效率低,难以完成复杂的任务。操作系统是直接运行在裸机上的最基本的系统软件,是对裸机的首次扩充,同时又是其他软件运行的基础。应用软件的开发和运行要有系统软件的支持,而用户直接使用的是应用软件,即使用某一应用软件来解决实际问题。图2.2 计算机硬件、软件和用户三者之间的关系。2.1.2 计算机系统的硬件组成J020102虽然计算机的种类很多,制造技术发生了很大的变化,但在基本的硬件结构方面,一直沿袭着冯诺依曼的体系结构,从功能上都可以划分为五个基本组成部分,即输入设备、输出设备、存储器、运算器和控制器,如图2.3所示。图2.3 计算机的基本结构在图2.3中,有两种信息流,一种是数据流,另一种是控制流。1输入设备和输出设备从外部设备将信息(包括原始数据、程序等)传送到计算机内存储器称为输入,从计算机内部向外部设备传送信息称为输出。输入设备接收用户提交给计算机的程序、数据及其他各种信息,并把它们转换成计算机能够识别的二进制代码,送给内存储器。常用的输入设备有键盘、鼠标器、扫描仪等。输出设备是把计算机的处理结果用人们能识别的数字、字符、图形、曲线、表格等形式输出。常用的输出设备有显示器、打印机、绘图仪等。磁盘等外存储器既可作为输入设备,又可作为输出设备。2存储器存储器是用于存放原始数据、程序以及计算机运算结果的部件。存储器是由大量的基本存储元件组成的,每一个基本存储元件存储一位二进制数据“0”或“1”。凡是具有两个稳定状态的元件均可用作基本存储元件。当前,一般都由半导体元件组成。图2.4是存储器的组成框图。大量的基本存储元件有规则地组合在一起就是存储器的存储体。存储体被划分成许多存储单元,每个存储单元可以存放一个数据或一条指令。为了能够按指定的位置进行存取,必须给每个存储单元编号,这个编号就称为存储单元的地址。地址与存储单元一一对应,每一个存储单元都规定了一个惟一的地址。要访问某一存储单元(向存储单元写入数据或从存储单元中读出数据),要给出这个存储单元的地址。在微机系统中,内存是以字节作为一个单元的,在不同字长的系统中,一次可以对2个、4个或8个单元进行访问。图2.4 存储器组成框图内存储器用来存放当前需要处理的原始数据及需要运行的程序,CPU 可直接访问。微型计算机的内存普遍采用了大容量的半导体存储器,根据使用功能的不同,半导体存储器可分为随机存取存储器(Random Access Memory,RAM)和只读存储器(Read Only Memory,ROM)两种。RAM的特点是:用户既可以从中读出信息,又可以将信息写入其中;断电后RAM中所存储的信息将全部丢失。ROM的特点是:用户只能从中读出信息,不能将信息写入其中;断电以后,ROM中所存储的信息不会丢失。外存储器用来存放当前暂不需要处理的原始数据及不需要运行的程序,不能被 CPU 直接访问,外存储器的数据只有先调入内存才能被 CPU 访问。常见的外存主要有软盘、硬盘和光盘(Compact Disk Read Only Memory,CD-ROM),它们都必须通过各自的驱动器才能进行读写操作。3控制器控制器是整个计算机的控制中心,它按照从内存储器中取出的指令,向其他部件发出控制信号,使计算机各部件协调一致地工作,另一方面它又不停地接收由各部件传来的反馈信息,并分析这些信息,决定下一步的操作,如此反复,直到程序运行结束。4运算器运算器又称算术逻辑单元(Arithmetic Logic Unit,ALU)。它接受由内存送到的二进制数据并对其进行算术运算和逻辑运算。总结:关于计算机组成的几个概念 中央处理器:运算器和控制器合称为中央处理器(Central Processing Unit,CPU)。 主机:CPU和内存储器合称为主机。 裸机:没有安装任何软件的计算机称为裸机。 外部设备:将输入设备和输出设备称为外部设备。由于外存储器不能直接与CPU交换信息,而它与主机的连接方式和信息交换方式与输入输出设备没有很大差别,因此,一般把它列入外部设备的范畴,外部设备包括输入设备、输出设备和外存储器;但从外存在整个计算机的功能看,它属于存储系统的一部分,称之为外存储器或辅助存储器。2.1.3 计算机的基本工作原理J0201031指令和程序指令(Instruction)是能被计算机识别并执行的二进制代码,通常一条指令对应着一种基本操作。计算机所能直接执行的全部指令,就是计算机的指令系统(Instruction Set)。指令通常包括操作码和操作数两大部分,操作码表示计算机执行什么操作,操作数指明参加操作的数的本身或操作数所在的地址。因为计算机只认识二进制数,所以计算机指令系统中的所有指令都必须以二进制编码的形式来表示。以二进制编码表示的指令叫机器指令。程序即解题步骤。计算机的解题程序必须用计算机能识别的语言来描述,因此程序是指令的集合,用指令描述的解题步骤就叫程序。2计算机的工作原理按照冯诺依曼的存储程序思想,利用计算机解题首先要把指挥计算机如何进行操作的指令序列(即程序)和原始数据通过输入设备输送到计算机内存储器中,计算机运行时,依次从内存中取出一条条指令,控制器对指令进行分析判断,按照指令要求,发出不同的控制信号,在控制器的指挥下完成规定的操作,直到完成全部操作为止。所以,计算机的工作原理可以概括为存储程序和程序控制。讨论:理解计算机的工作原理有着深刻的理论意义。电子计算机是在程序的控制下进行自动工作的,所以用计算机解题首先要准备好程序,然后将程序装入内存并执行。2.1.4 计算机系统的软件组成J020104一般来说,软件是计算机程序以及与程序有关的各种文档的总称。按软件的功能来分,软件可分为系统软件和应用软件两大类。系统软件又可分为操作系统、语言处理程序、数据库管理系统和支撑软件等。1系统软件(1)操作系统。操作系统(Operating System,OS)是为了控制和管理计算机的各种资源,以充分发挥计算机系统的工作效率和方便用户使用计算机而配置的一种系统软件。操作系统是直接运行在计算机上的最基本的系统软件,是系统软件的核心,任何计算机都必须配置操作系统。操作系统是管理和控制计算机系统软件、硬件和系统资源的大型程序,是用户和计算机之间的接口。操作系统的主要作用是提高系统资源的利用率,为用户提供方便友好的用户界面和软件开发与运行环境。(2)语言处理程序。程序设计语言是人们为了描述解题步骤(即编程序)而设计的一种具有语法语义描述的记号。按其发展分为机器语言、汇编语言和高级语言。机器语言是由机器指令构成的二进制代码语言,是唯一能被计算机直接识别并执行的语言。由于不同机器有不同的指令系统,所以机器语言程序没有通用性,而且机器语言不直观,难懂易错。后来,人们用助记符来表示机器语言,这就是汇编语言。用汇编语言编写的程序不能被机器直接执行,必须将其翻译成机器语言程序后计算机才能执行。对汇编语言程序进行翻译的程序叫做汇编程序。用汇编语言编写程序,直观性有了改善,但它仍是面向具体机器的低级语言。后来出现了同自然语言和数学语言比较接近的高级语言。用高级语言编制的程序也不能直接在计算机上运行,必须将其翻译成机器语言程序才能为计算机所理解并执行,其翻译过程有编译和解释两种方式。解释是对用高级语言编写的源程序逐句进行分析,边解释、边执行并立即得到运行结果。解释过程由计算机执行解释程序自动完成,但不产生目标程序。编译是将用高级语言编写的源程序通过编译程序整个翻译成目标程序(.obj),然后通过连接程序,把目标程序与库文件连接形成可执行文件(.exe),运行时只要键入可执行文件名即可。高级语言直观、通用、编程方便,但程序的执行效率不及机器语言和汇编语言。汇编程序、解释程序和编译程序是完成源程序翻译任务的语言处理程序,属于系统软件。(3)数据库管理系统(Database Management System,DBMS)。数据库(Databases,DB)是指长期保存在计算机的存储设备上、并按照某种模型组织起来的、可以被各种用户或应用共享的数据的集合。数据库管理系统(Database Management System,DBMS)是指提供各种数据管理服务的计算机软件系统,这种服务包括数据对象定义、数据存储与备份、数据访问与更新、数据统计与分析、数据安全保护、数据库运行管理以及数据库建立和维护等。由于企业信息化的目的就是要以现代信息技术为手段,对伴随着企业生产和经营过程而产生的数据进行收集、加工、管理和利用,以改善企业生产经营的整体效率,增强企业的竞争力。所以,数据库是企业信息化不可缺少的工具,是绝大部分企业信息系统的核心。(4)支撑软件。支撑软件是用于支持软件开发、调试和维护的软件,可帮助程序员快速、准确、有效地进行软件研发、管理和评测。如编辑程序、连接程序和调试程序等。编辑程序为程序员提供了一个书写环境,用来建立、编辑修改源程序文件。连接程序用来将若干个目标程序模块和相应高级语言的库程序连接在一起,产生可执行程序文件。调试程序可以跟踪程序的执行,帮助发现程序中的错误,以便于修改。2应用软件应用软件是为满足用户不同领域、不同问题的应用要求而开发的软件。应用软件可以拓宽计算机系统的应用领域,扩大硬件的功能,又可以根据应用的不同领域和不同功能划分为若干子类,例如,财务软件、办公软件、计算机辅助设计(CAD)软件等。需要指出的是,计算机软件发展非常迅速,新软件层出不穷,系统软件和应用软件的界线正在变得模糊。一些具有通用价值的应用软件,可以纳入系统软件之中,作为一种资源提供给用户。2.2 数制转换及运算J0202在计算机内部,数据的存储和处理都是采用二进制数,而不使用人们习惯的十进制数,主要原因是:(1)二进制数在物理上最容易实现。例如,可以只用高、低两个电平分别表示“1”和“0”,也可以用脉冲的有无或者脉冲的正负极性表示它们。(2)二进制数的运算规则简单,这将使计算机的硬件结构大大简化。(3)二进制数的两个数字符号“1”和“0”正好与逻辑命题的两个值“真”和“假”相对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利的条件。但二进制数书写冗长、易错、难记,所以为书写方便,一般用十六进制数或八进制数作为二进制数的简化表示。学习计算机,需要了解这几种常用进制数以及它们之间的相互转换方法,同时也需了解数据在计算机中的不同表示方法和运算方法。2.2.1 进位计数制J020201按进位的原则进行计数的方法称为进位计数制。在采用进位计数的数字系统中,如果用r个基本符号(例如0,1,2,r-1)表示数值,则称其为基r数制(Radix-r Number System),r成为该数制的基数(Radix),而数制中每一数字位置上对应的固定值称为权值(Weight Value)。对于不同的数制,它们的共同特点是:(1)每一种数制都有固定的符号集。例如,日常生活中常用的十进制数,就是r=10,即基本符号为0,1,2,9。对于二进制数,r=2,有0和1两个符号。(2)每一个数字符号在不同的位置上具有不同的值。如938.25,3在小数点左边第2位上,它代表的数值是3101,权值为101,2在小数点右边第1位上,它代表的数值是210-1,权值为10-1,依次类推,其按权展开式为:(938.25)10=9102+3101+8100+210-1+510-2可以看出,各种进位计数制的权值等于基数的某次幂,因此,对于任何一种进位计数制表示的数都可以写出按其权展开的多项式之和。任意一个r进制数N可表示为:N=(dm-1dm-2d1d0.d-1d-2d-k)r= dm-1rm-1+dm-2 rm-2+d1r1+d0 r0+d-1r-1+d-2 r-2+d-k r-k =其中di为该数制采用的基本数符,r是基数,ri是数位的权值,m为整数部分的位数,k为小数部分的位数。不同的基数,表示不同的进制数。例如,八进制数467.52的按权展开式为:(467.52)8=482+681+780+58-1+28-2“位”和“基数”是进位计数制中的两个要素。在十进位计数制中,是根据“逢十进一”的原则进行计数的。在二进位计数制中,是根据“逢二进一”的原则进行计数的。一般地,在基数为r的进位计数制中,是根据“逢r进一”即“逢基数进一”的原则进行计数的。在计算机内部采用二进制数,而人们习惯的是十进制数。另外,为了更加简洁地表示二进制数,又引入了八进制和十六进制。所以,计算机中常用的几种进位数制是二进制(Binary System)、十进制数(Decimal System)、八进制(Octal System)和十六进制(Hexadecimal System)。八进制数有07共8个数字符号,逢八进一。十六进制数有0,1,9,A,B,C,D,E,F共16个数字符号,其中AF分别表示1015,逢十六进一。表2.1总结了常用的几种进位数制的特点。表2.1 计算机中常用的几种进位数制进位制计算规则基数数符权值表示形式十进制逢十进一r = 100,1,910iD二进制逢二进一r=20,12iB八进制逢八进一r = 80,1,78iO或Q十六进制逢十六进一r = 160,1,9,A,F16iH为书写方便,经常用下标来表示数的进制。另外,通常以字母D来表示十进制,以B来表示二进制,以O或Q来表示八进制,以H来表示十六进制。例如,十进制数938.25 可以写成(938.25)10或938.25D,二进制数101101.01可以写成(101101.01)2或101101.01B。2.2.2 不同进位计数制间的转换J0202021任意r进制数转换为十进制数将r进制数按权展开后,再求和,所得结果即为这个r进制数所对应的十进制数。例如(11011.101)2=124+123+022+121+120+12-1+02-2+12-3=(27.625)10(123)8=182+281+380=(83)10(1AB.5)16=1162+10161+11160+516-1=(427.3125)102十进制数转换为任意r进制数将十进制数转换成r进制数时,要将数的整数部分和小数部分分别进行转换,分别按除r取余数和乘r取整数两种不同的方法来完成。以十进制数转换成二进制数为例,对整数部分,用2去除,取其余数为转换后的二进制整数数字,直到商为0结束,且注意先得到的余数为所求结果的低位;对小数部分,用2去乘,取乘积的整数部分为转换后的二进制小数数字,注意先得到的整数为二进制小数的高位。同样道理,当将十进制数转换成八进制或十六进制形式时,整数部分用除以8或16取余数处理,小数部分则用乘以8或16取整来处理。3二进制数与八进制数、十六进制数的转换一位八进制数可用3位二进制数表示,一位十六进制数可用4位二进制数表示,因此八进制、十六进制只是二进制的一种简化表示形式。它们的关系如表2.2所示。表2.2 几种数制对照表十进制数二进制数八进制数十六进制数00000001000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F(1)二进制转换为八进制或十六进制在把二进制数转换成八进制或十六进制表示形式时,应从小数点分别向左和向右按每3位或每4位进行划分,若小数点左侧(即整数部分)的位数不足3或4位,则在高位补0,对小数点右侧(即小数部分),则应在低位补0来补足3位或4位。划分后,3位或4位二进制数用1位八进制数或十六进制数来表示。(2)八进制或十六进制转换为二进制与上述相反,将八进制数或十六进制数转换成二进制表示形式时,则每位分别用3位或4位二进制来表示。2.2.3 二进制数的运算J020203二进制数之间可执行算术与逻辑运算,其运算规则与十进制数类似,但因二进制数只有0和1两个数字符号,故比十进制数要简单得多。1二进制数的算术运算(1)加法运算二进制数的加法规则:0+00 0+1=1+0=1 1+110(向高位产生进位)(2)减法运算二进制数的减法规则:0-0=0 0-1=1(向高位借位1次) 1-0=1 1-1=0(3)乘法运算二进制的乘法规则为:00=0 01=0 10=0 11=1(4)除法运算二进制除法运算与十进制除法类似,也由减法、上商等操作逐步完成。2二进制数的逻辑运算计算机中的逻辑关系是一种二值逻辑,逻辑运算的结果只有“真”或“假”两个值。二值逻辑很容易用二进制的0和1来表示,一般用1表示真,用0表示假。逻辑值的每一位表示一个逻辑值,逻辑运算是按对应位进行的,每位之间相互独立,不存在进位和借位关系,运算结果也是逻辑值。(1)与运算与运算又称逻辑乘,通常用或表示。运算规则为按位进行“与”运算,若进行“与”操作的两位均为1,则结果为1;两位中有一位为0,则结果为0。具体规则如下:00=0 01=0 10=0 11=1(2)或运算或运算又称逻辑加,通常用或+表示。运算规则是按位进行“或”运算,若进行“或”操作的两位中有一位为1,则结果为1;两位均为0,则结果为0。具体规则如下:00=0 01=1 10=1 11=1(3)非运算非运算实现对单个逻辑值的处理,也称为逻辑取反操作,通常用表示。运算规则如下: =0 =1(4)异或运算上述与、或、非运算是三种最基本的逻辑操作,用它们可组合出任何逻辑功能。有时还要用到异或运算,通常用表示。其规则为按位进行异或运算,若进行异或操作的两位不相同时,则结果为1;两位相同时,则结果为0。具体规则如下:00=0 01=1 10=1 11=0例如, (11010110) 2(10010011) 2=(1000101) 2。2.3 数据在计算机中的表示J0203计算机中的数据包括数值型和非数值型两大类。数值型数据指的是可以参加算术运算的数据,非数值型数据是不能参与算术运算的数据,如字符数据。除了数值和字符以外,还包含大量的图形、图像、视频、动画和声音等多媒体数据。勿容置疑,为了要使计算机能够处理这些多媒体数据,必须先将它们转换成二进制信息,具体方法将在多媒体部分介绍。2.3.1 数值数据的表示J0203011机器数和真值在计算机中只能用数字化信息来表示数的正、负,人们规定用0表示正号,用1表示负号。例如,在机器中用8位二进制表示+90,其格式为:01011010 符号位,0表示正而用8位二进制表示-89,其格式为:11011001 符号位,1表示负在计算机内部,数字和符号都用二进制码表示,两者合在一起构成数的机内表示形式,称为机器数,而它真正表示的数值称为这个机器数的真值。2定点数和浮点数在计算机中,一般用若干个二进制位表示一个数或一条指令,把它们作为一个整体来处理、存储和传送。这种作为一个整体来处理的二进制位串,称为计算机字。表示数据的字称为数据字,表示指令的字称为指令字。计算机是以字为单位进行处理、存储和传送的,所以运算器中的加法器、累加器以及其他一些寄存器,都选择与字长相同位数。字长一定,则计算机数据字所能表示的数的范围也就确定了。例如使用8位字长计算机,它可表示无符号整数的最大值是(11111111)2=(255)10。运算时,若数值超出机器数所能表示的范围,就会停止运算和处理,这种现象称为溢出。计算机中运算的数,有整数,也有小数,如何确定小数点的位置呢?通常有两种约定:一种是规定小数点的位置固定不变,这时的机器数称为定点数。另一种是小数点的位置可以浮动,这时的机器数称为浮点数。微型计算机多选用定点数。(1)定点数数的定点表示是指数据字中的小数点的位置是固定不变的。小数点位置可以固定在符号位之后,这时,数据字就表示一个纯小数。假定机器字长为2个字节,符号位占1位,数值部分占15位,故下面机器数等效的十进制数为:-2-15 。 1000000000000001 (小数点) 符号位 数值部分 如果把小数点位置固定在数据字的最后,这时,数据字就表示一个整数。假设机器字长为2个字节,符号位占1位,数值部分占15位,故下面机器数其等效的十进制数为+32767。0111111111111111 (小数点) 符号位 数值部分定点表示法所能表示的数值范围很有限,为了扩大定点数的表示范围,可以通过编程技术,采用多个字节来表示一个定点数,例如,采用4个字节或8个字节等。(3)浮点数浮点表示法就是小数点在数中的位置是浮动的。在以数值计算为主要任务的计算机中,由于定点表示法所能表示的数的范围太窄,不能满足计算问题的需要,因此就要采用浮点表示法。在同样字长的情况下,浮点表示法能表示的数的范围扩大了。计算机中的浮点表示法包括两个部分:一部分是阶码,表示指数,记作E;另一部分是尾数,表示有效数字,记作M。采用浮点表示法,二进制数N可以表示为:N=M2E,其中2为基数,E为阶码,M为尾数。浮点数在机器中的表示方法如下:阶符E数符M (小数点)阶码部分 尾数部分由尾数部分隐含的小数点位置可知,尾数总是小于1的数字,它给出该浮点数的有效数字。尾数部分的符号位确定该浮点数的正负。阶码给出的总是整数,它确定小数点浮动的位数,若阶符为正,则向右移动;若阶符为负,则向左移动。假设机器字长为4个字节,阶码占1个字节,尾数占3个字节:阶符E数符M (小数点) 1位 7位 1位 23位其中左边1位表示阶码的符号,符号位后的7位表示阶码的大小。后24位中,有一位表示尾数的符号,其余23位表示尾数的大小。浮点数表示法要求尾数中第1位数不为零,这样的浮点数称为规格化数。例如,1011011B=0.1011011B2111B。在浮点数表示和运算中,当一个数的阶码大于机器所能表示的最大码时,产生“上溢”。上溢时机器一般不再继续运算而转入“溢出”处理。当一个数的阶码小于机器所能代表的最小阶码时产生“下溢”,下溢时一般当作“机器零”来处理。3原码、反码和补码表示法为运算方便,机器数有三种表示法,即原码、反码和补码。(1)原码原码是用机器数的最高(最左)一位表示符号,其余各位给出数值的绝对值,即正数的最高位为0,负数最高位为1,其余各位表示数值的大小。例如,X1=+52,X2=-52,则X1原=0 0110100(最高位0为符号位),X2原=1 0110100(最高位1为符号位)。在此,X1与X2为真值数,X1原与X2原为X1与X2的原码机器数。由上可见,原码表示时在数的真值与它的原码表示之间的对应关系简单,相互转换较容易。但对于真值零,有正零与负零两种表示:+0原=00000-0原=10000如果用n位二进制数表示定点整数,其中一位表示符号,其能表示的最大数为2n-1-1,最小数为-(2n-1-1)。如n=8,最大数的原码为01111111(即+127D),最小数为11111111(即-127D)。由于真值零占用两个编码,因此8位二进制数只能表示28-1=255个原码,则8位带符号的原码能表示的数值范围为:-127127;而8位无符号的原码能表示的数值范围为:0255。(2)反码反码用机器数的最高一位表示符号,数值位是对负数各位取反的表示方法。即正数的反码为其原码形式;负数的反码最高位为1,数值位为原码逐位求反而得到。例如,X1=+52,X2=-52,则X1反=0 0110100(即其原码形式),X2反=1 1001011(其原码的符号位不变,数值各位取反)。反码同原码一样,真值零的表示也不是惟一的,有两个编码:+0反=00000-0反=11111因此,对于用8位二进制数只能表示28-1=255个反码,其有符号定点整数的数值范围为:-127127,其中最大数的反码为01111111,最小数的反码为10000000。(3)补码因原码与反码对于真值零均有两种不同的编码,引出了补码表示法,目前大多数计算机中数据的运算都采用补码形式。正数的补码最高符号位为0,数值位为其数值大小,即正数的补码仍为其原码。因此正数的原码、反码、补码是同一个编码。负数的补码最高符号位为1,数值位各位取反,最低位加上1,即X补=X反+1。例如,X原=1 1011000,则其X反=1 0100111,其补码X补=1 0101000。另从补码求其原码时,也可采用将其补码各位取反后,再最低位加1的方法得到其原码,即X原=X补反+1=X补补。如上例,X补=1 0101000,则X补反=1 1010111,X原=1 1011000。在补码表示中,真值零的表示是惟一的,即+0补=00000000-0补=-0反+1=11111111+1=00000000=+0补因此,对于n位二进制数能表示2n个补码,如8位二进制能表示28=256个补码,其带符号定点整数的数值范围为:-128127,其中最大数的补码为01111111,最小数的补码为10000000。引进补码运算可以将减法运算转化为加法运算,计算公式为:X+Y补=X补+Y补X-Y补=X补+-Y补例如,20-96=20+(-96),而+20补=00010100B,-96补=10100000B,两者相加 00010100B +10100000B=10110100B。相加后的结果即为和的补码,很明显为负数;此时数值部分应将后7位按位取反后再加1,得到其原码,即真值为-1001100B(-76D)。另外,从上例中也可看出,在处理过程中符号位与数值位的处理方法是一样的,这就是补码参与运算的一个优点,使得补码在微机中得到广泛应用。需要注意的一点是,在微机中,凡涉及带符号数都一定是用补码表示,因此其结果也是用补码表示的。4十进制数的二进制编码用二进制编码来表示十进制数的编码就称为二十进制码,简称BCD(Binary Coded Decimal)码。这种编码的特点是保留了十进制的权,而数字则用0和1的组合来表示。常见的BCD码是8421码,它是用4位二进制数表示1位十进制数字,既具有二进制的形式,又具有十进制的特点。4位二进制数中的每一位从左到右的权分别为8,4,2,1。根据这种权的定义,数字09的8421码为0000、0001、0010、1001。一个十进制数转换成8421码非常方便,就是把每一位十进制数用对应的8421码表示,如十进制数259所对应的8421码为0010 0101 1001。注意:(1)由于10到15这六个数在8421码中没有意义,因此若用8421码参加十进制运算,一旦在运算中出现超过9的数(如1010、1011等),就必须设法调整(加6调整),才能保证结果正确。(2)BCD码与二进制数之间的转换不是直接的,要先转换为十进制数,然后再转换成二进制数,反之亦然。例如,(1111001.01000101)BCD(79.45)10(1001111.0111)22.3.2 西文字符的二进制编码J020302 字符是计算机中另一种重要的数据形式,它们也必须按特定的规则用二进制编码表示。编码可以有各种方式,目前在微机中最普遍采用的是ASCII码,即美国标准信息交换码(American Standard Code for Information Interchange)。ASCII码是7位二进制码,可表示27=128种字符,其中包括09十个数字、52个大小写英文字母、32个控制字符,其他为专用字符。如“A”的ASCII码为1000001B(41H),十进制数是65。字符具体编码见表2.3。表2.3 ASCII码字符表字符 b6b5b4 b3b2 b1 b00000010100111001011101110000NULDLESP0P、p0001SOHDC1!1AQaq0010STXDC2”2BRbr0011ETXDC3#3CScs0100EOTDC4$4DTdt0101ENQNAK%5EUeu0110ACKSYN&6FVfv0111BELETB,7GWgw1000BSCAN(8HXhx1001HTEM)9IYiy1010LFSUB*:JZjz1011VTESC+;Kk1100FFFS,Nn1111SIUS/?O oDEL由于在计算机中一个字节为8个二进制位,它是信息存取的最基本单位,因此常用一个字节来表示一个ASCII码,它的最高位通常为0。一般情况下,不需要背诵各种字符的ASCII码值,需要时可查表。但应了解字符的编码规律。例如,ASCII码值从小到大的编码顺序是控制字符、数字、大写字母、小写字母;94个图形字符的ASCII码为21H7EH;小写字母比对应的大写字母ASCII码值大32。2.3.3 汉字的二进制编码J020303汉字的编码比西文字符的编码要复杂得多,这是因为汉字的数量大,结构复杂。通常,计算机中的汉字在不同处理阶段,采用不同的编码。1汉字输入码汉字的输入方法很多,众多的输入方法可归纳成三大类:键盘输入法、字形识别法和语音识别法。其中语音识别法在一定条件下能达到某些预期效果(接近实用),字形识别法中的印刷汉字扫描输入自动识别已广泛应用于文献资料录入排版,手写汉字联机识别已达到实用的水平,而广泛采用的汉字输入方法仍是在键盘上输入汉字的方法。汉字数量庞大,无法使每个汉字与键盘上的键一一对应,因此每个汉字须用几个键符编码表示,这就是汉字的输入编码。汉字输入编码很多,可归纳为四类:数字编码、字音编码、字形编码和音形编码。区位码属于数字编码,以汉字拼音为基础的编码属字音编码,五笔字型输入法是使用广泛的字形编码。不管采用哪一种输入编码,汉字在计算机中的内码、交换码都是一样的,由该种输入方法的程序自动完成输入码到内码的转换。 2汉字国标码与区位码为了适应汉字信息处理的需要,1981年我国颁布了信息交换用汉字编码字符集基本集,简称GB231280。它规定了信息处理交换用的6763个汉字和682个图形字符的编码。其中汉字分为两级,第一级3755个,按汉语拼音字母顺序排列,同音字以笔划顺序为序。第二级3008个,按部首顺序排列。GB2312-80是一种双7位代码结构,如图2.5所示。为了使控制字符和图形字符互不干扰,规定其中任何一个字节(最高位为0)都不应和34个控制字符的ASCII码相同,于是每一字节的编码在21H7EH之间。图2.5 GB2312-80编码表把GB2312-80编码表中两个字节编码连接起来,即得到汉字的国标码。如“啊”的第一字节编码为30H,第二字节编码为21H,即“啊”的国际码为3021H。GB2312-80编码表中有94行94列,行号称为区号,列号称为位号。如果把区号和位号组合起来就是区位码。如“啊”的区位码为1601,“”的区位码为0633。注意区号和位号都用两位十进制数表示,不足两位前面补0。3汉字机内码汉字机内码是指汉字在计算机内部进行存储和加工处理时所使用的代码。汉字输入方式有许多(输入码),但其内码是统一的。汉字的国标码不能直接作为汉字内码,它会与ASCII码字符相混淆。例如“中”的国标码是5650H,而ASCII码字符串“VP”的内部编码也是5650H,这就产生了二义性。目前汉字的内码大多采用基于国际码的两字节法,且把国际码每个字节的最高位都置1。如“啊”的内码为B0A1H。汉字国标码、区位码及内码的转换关系是:国标码高字节区号(用十六进制)20H国标码低字节位号(用十六进制)20H内码高字节国标码高字节80H内码低字节国标码低字节80H4汉字的输出 在计算机内部,只对汉字内码进行处理,不涉及汉字本身的字形。若要输出汉字处理的结果,则必须把汉字内码还原成汉字字形。一个字符集的所有字符的形状描述信息集合在一起称为该字符集的字形信息库,简称字库。不同的字体(如宋、仿、楷、黑等)有不同的字库。每输出一个汉字,都必须根据内码到字库中找出该汉字的字形描述信息,再送去显示或打印。描述字符(包括汉字)字形的方法主要有两种:点阵字形和轮廓字形。 点阵字形由排成方阵(如1616、2424、4848等等)的一组二进制数字表示一个字符,1表示对应位置有笔划,0表示对应位置无笔划。1616点阵字形常用于屏幕显示,笔画生硬、细节难以区分,打印输出常用2424、4040、4848,甚至9696点阵。点阵的数目

温馨提示

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

评论

0/150

提交评论