第2章:计算机基础知识计算机的工作原理计算机系统信息表示微型计算机系统组成计算机的工作原理美籍匈牙利数学家冯•诺依曼提出了以“二进制”和“存储程序”工作原理为基础的现代计算机的体系结构。所谓“二进制”是指:以二元逻辑为基础,用0和1二进制码组成各种信息进行运算。“存储程序”的工作原理是:在计算机中设置存储器,将二进制编码表示的计算步骤和数据存放到存储器中,计算机一经启动,就能按照程序指定的逻辑顺序依次取出存储器中的内容进行处理,直到得出结果。程序:是指可以连续执行的一条条指令的集合。指令:指计算机完成某一操作的命令是规定操作数的值或地址、操作结果的地址及下一条指令的地址等指令:是指计算机完成某一种操作的命令,是一组二进制代码。操作码地址码指令的组成格式:指出进行什么操作一条指令的执行过程可分为取指令、分析指令、执行指令3个阶段取指令分析指令执行指令指令的执行过程开始从存储器取一条指令分析指令?执行指令结束程序的执行过程计算机系统计算机系统的组成软件系统(程序、文档)硬件系统(设备)CPU外部设备计算机硬件系统的组成硬件运算器控制器存储器输入设备输出设备内存外存主机输入设备输出设备存储器运算器控制器例:根据计算机的工作原理描述求解圆面积的过程控制输出设备,将存储在内存的结果输出到屏幕上。控制输入设备,将数据=〉内存计算,并将结果=〉内存inta,b;aa=1;b=a+1;b……ff00ff01ff02ff03变量通过输出语句,将变量的值输出到屏幕上。通过输入语句,将数据=变量计算,并将结果=变量利用C语言描述求解圆面积的过程……rs…程序设计语言语言处理程序操作系统…用户程序应用软件包工具软件系统软件应用软件软件是各种程序及其文档的总称。软件是用户与机器的接口。计算机软件系统的组成指维持计算机系统正常运行和支持用户运行应用软件的基础软件。操作系统(OS)程序设计语言和语言处理程序数据库管理系统常用服务程序(调试程序、测试及诊断程序)系统软件裸机:不装备任何软件的计算机。操作系统软件用于管理计算机硬件和软件资源,组织计算机的工作流程,方便用户使用,并能为其他软件的开发与使用提供必要的支持。是计算机必须配置的软件单用户操作系统单用户单任务:Dos单用户多任务:Windows多用户操作系统Unix、Linux程序设计语言机器语言计算机唯一识别的,二进制数码构成的机器指令8306000001指令操作数一操作数二汇编语言用符号代表机器语言ADDA,1高级语言自然语言和数学语言(C、VB等)A=A+1支持编写计算机程序的软件语言处理程序把计算机语言编写的源程序编译成可在计算机上运行的程序汇编程序把汇编语言写的源程序=〉机器语言表示的目标程序的翻译程序。解释程序逐条对某种语言源程序进行解释并执行,不产生目标代码。编译程序将源程序翻译成与之等价的用机器语言表示的目标程序,其翻译过程称为编译。源程序转换成可执行的过程源程序目标程序可执行程序编辑程序汇编或编译程序连接程序应用软件在系统软件的支持下,用各种语言编写的为某一专门的应用目的而开发的软件文字处理软件表格处理软件辅助设计软件实时控制软件硬件系统软件应用软件用户计算机系统层次结构作为系统,计算机具有层次性。内核是硬件系统:是进行信息处理的实际物理装置。最外层是使用计算机的人,即用户。人与硬件系统之间的接口是软件系统。运算器中央处理单元(CPU)主机控制器内存储器硬件外存储器外设输入设备计算机输出设备系统操作系统系统软件程序语言及其编译、解释程序调试程序、测试及诊断程序软件应用软件信息表示计算机中的信息是用二进制表示的。因为:物理上容易实现运算简单逻辑性强在计算机中只能识别二进制数码信息,因此,一切字母、数字、符号等信息都必须用二进制特定编码来表示;信息才能传送、存储和处理11111000二进制的示例数制:是指表示数值的方法,有进位计数制和非进位计数制进制:按照进位的原则进行计数的数制称为进位计数制,简称“进制”。数码:一组用来表示某种数制的符号基数:数制所使用的数码个数,常用R表示,称R进制位权:指数码在不同位置上的权值。其大小是以基数R为底,数码所在位置的序号为指数的整数次幂。数制的概念例1、在十进制数中,358.72可表示为:358.72=3×102+5×101+8×100+7×10-1+2×10-2例2、在二进制数中,1011.01可表示为:1011.01==1×23+0×22+1×21+1×20+0×2-1+1×2-2任何一种数制表示的数都可以写成按位权展开的多项式之和。常用的进位计数制十进制二进制十六进制八进制十进制二进制八进制十六进制基数数字符号100-920,180-7160-9,A-F为了区别不同进制的数据,可在数据后加一个特定的字母来表示它所采用的进制:以字母B表示二进制,以字母O表示八进制,以字母D或省略表示十进制数,以字母H表示十六进制示例100D100B100O100H不同数制间数的转换R进制数十进制数R进制数十进制数二、八、十六进制之间的转换示例:(1110.1)2=1×23+1×22+1×21+0×20+1×2-1=8+4+2+0+0.5=(14.5)10(a12f.28)16=10×163+1×162+2×161+15×160+2×16-1+8×16-2=(41263.15625)10R进制数=十进制数位权法:把R进制数按位权展开求和十进制=R进制整数转换小数转换结果:144余数法:除基数取余法,连续除以基数,并取其余数,直到商为零,将所得余数倒序排列即可示例:100-八进制十进制整数=R进制整数1008412841810结果为:1100001示例:97-二进制97248122402120260230211201进位法:乘基数取整,连续乘以基数,并取其整数,直到积为零或达到所要求的精度时,将所得整数正序排列即可示例:0.625=二进制结果:0.1010.625×21.250取整数0.25×20.500.5×21.0十进制小数=R进制小数二、八与十六进制之间的转换二进制与十六进制4位二进制数1位十六进制数二进制与八进制3位二进制数1位八进制数十进制二进制十进制二进制000010012010301141005101611071118100091001101010111011121100131101141110151111二进制八进制一位拆三位整数部分从右向左三位并一位小数部分从左向右三位并一位示例:100101110111.0111004217654.34()8示例:42135.2101011.010一位拆四位二进制十六进制整数部分从右向左四位并一位小数部分从左向右四位并一位示例:100010100101.11115A8.F8421例:将(741.566)8转换成为二进制数例:将(5A.B8)16转换成为二进制数(741.566)8=(111100001.101110110)2(5A.B8)16=(01011010.10111000)2信息编码输入设备输出设备数值十/二进制转换西文ASCII码汉字输入码/机内码声音/图像模/数转换二/十进制转换数值西文字形码西文汉字字形码汉字数/模转换声音/图像内存信息的存储单位位(bit)简记b,也称比特,是计算机存储数据的最小单位。字节(byte)1B=8bit计算机中,字节是表示信息含义的最小单位,即以字节为基本单位来解释信息。其他单位KB千字节MB兆字节GB吉字节TB太字节PB拍字节1KB=1024BlMB=l024KB=210KB=220B1GB=l024MB=210MB=220KB=230B1TB=1024GB=210GB=220MB=230KB=240B1PB=1024TB=210TB=220GB=230MB=240KB=250B……位字,字长字节(8位)字是计算机进行数据处理时,一次存取、加工和传送的一组二进制位。它的长度叫字长。符号位的表示计算机中数据的符号也是用二进制表示的,正数用0表示,负数用1表示计算机中数据的表示机器数把一个数据连同其符号在机器中的表示加以数值化,这样的数据称为机器数。一般用最高位来表示符号。即:+970110000101100001+97符号位11100001-97机器数在计算时必须考虑符号位的处理,为了便于运算,对数中有三种表示方法原码反码补码原码原码就是机器数,最高位为符号位,数值部分是原数的绝对值反码正数的反码和原码相同,负数的反码是对其原码除符号位外各位求反(0变1,1变0)补码正数的补码和原码相同,负数的补码是对其反码最后一位加1+97原码反码补码-97原码反码补码假定一个数在机器中占用8位011000010110000101100001111000011001111010011111可以将减法运算转化为加法运算来完成数的符号位可参与运算两数和(差)的补码等于两数的补码之和(差)补码运算具有如下优点数的定点表示和浮点表示在计算机中表示小数时根据其小数点位置是否固定,分为:定点表示法浮点表示法定点表示法约定小数点隐含地固定在某个位置不变,为了方便,把小数点规定在数的最前面或最后面。即把所有数化为纯小数或纯整数来对待。浮点表示法小数点的位置可以改变的表示数的方法。数的定点表示0101000010001010定点小数:定点整数:符号位隐含小数位(+0.625)符号位隐含小数位(-10)数的浮点表示尾数=0.112233×1040.0001101B=0.1l01×2-111122.33=1.12233×103=11.2233×102阶码部分阶符阶码尾数部分数符0.00000011101011B→0.1l101011×2-11011111010001110101100000000000000不同的计算机中,阶码和尾数各占多少位都有具体的规定。阶码部分用补码表示成定点纯整数;尾数部分用补码表示成定点纯小数。计算机处理的信息除了数值数据以外,还有其他大量的非数值数据,非数值数据中主要是字符数据。由字符数据转换成二进制数值数据,最好的方法就是为字符编码,即对字符进行编号。字符编码每一个字符有一个唯一的编码。西文字符的编码ASCII码美国标准信息交换代码AmericanStandardCodeforInformationInterchange采用一个字节编码,可表示256种不同的字符。范围128-255,共128种标准ASCII0范围0-127,共128种最高位为0的编码扩展ASCII1最高位为1的编码字符十六进制十进制空格20H32‘0’~‘9’30H~39H48~57‘A’~‘Z’41H~5AH65~90‘a’~‘z’61H~7AH97~122BS(退格)8H8CR(回车)DH13LF(换行)AH10410100000101000001A汉字的编码汉字输入码汉字国标码汉字机内码汉字输出码汉字输入码输入汉字使用的编码称为汉字输入码,也称为汉字外部码,简称外码。音码类:全拼、双拼、微软拼音、自然码和智能ABC等形码类:五笔字型法、郑码输入法等全拼五笔字型法汉hanicy我国在1980年制定了《信息交换用汉字编码字符集·基本集》作为国家标准GB2312-80编码字符集,称为国标码。GB2312-80中规定了信息交换用的6763个汉字和682个非汉字图形符号(包括字母、数字和符号,例如英文、俄文、日文平、片假名等)的代码。汉字国标码区位码010203…1617…94010203…16啊17…94区号位号区位码:汉字和汉字符号被分成了94个区、94个位。区、位的序号均从01到94。每个汉字占两个字节。其中:汉字6763个,汉字符号682个。一级汉字3755个;二级汉字3008个。区号区中位置汉字国标码=汉字区位码+2020H用四位十进制数表示,前两位数是区号,后两位数是位号。区位码十六进制区位码国标码啊160110011001H+2020H=3021H汉字的机